Эффективный способ нарезки входной строки и преобразования переменных в целые числа или с плавающей точкой в ​​Python - PullRequest
0 голосов
/ 22 ноября 2018

В urionlinejudge.com.br многие их проблемы начинающих состоят в однострочном вводе, где вы разбиваете его на разные переменные и помещаете их в формулу или что-то в этом роде.

Например, вход состоит из 3 чисел в одной строке, и мне нужно их все сложить.Таким образом, входное значение может быть 10 5 6, а выходное значение должно быть 21.

На данный момент я выполняю следующее:

var_a, var_b, var_c = input().split(' ')
var_a = int(var_a)
var_b = int(var_b)
var_c = int(var_c)

#some generic code for sum of the variables

Есть ли более эффективный способделать первую часть кода?

Ответы [ 3 ]

0 голосов
/ 22 ноября 2018

эффективный?Я не уверен.Красивее и питон?Да, черт возьми.

input_str = input()
input_list = input_str.split(' ')

# And now you can iterate over this list and cast it into integers:

# list
vars = [int(i) for i in input_list]

result = sum(vars)
print(result)
0 голосов
/ 22 ноября 2018

Разделить и сопоставить с int в одной строке.

var_a, var_b, var_c = list(map(int, input.split()))
0 голосов
/ 22 ноября 2018

Я при условии , что вы используете str.split вместо несуществующего str.slice.

В сумме вы можете подать список строк в sumи map:

res = sum(map(int, input().split()))
...