Ввод в строку несколько чисел через пробел в Python
class Runner(object):
def eval(self, string):
start, goal, days = map(int, string.split())
i=1
while start<goal:
start*=1.1
i+=1
if i<days:
value = True
else:
value = False
return value
def loop(self):
line = input("Enter three values: ")
value = self.eval(line)
print(value
if __name__ == '__main__':
calc = Runner()
calc.loop()
Ввод
KeyboardInterrupt
5 10 15
SyntaxError: invalid syntax
Ответы (1 шт):
Автор решения: Stanislav Volodarskiy
→ Ссылка
input_words - генератор, которые читает из входного потока слова. Он создаётся один раз, используется столько раз, сколько нужно. take - выбирает из любого генератора n первых значений. Остальное - пример использования:
def input_words():
while True:
yield from input().split()
def take(g, n):
yield from (next(g) for _ in range(n))
inp = input_words()
while True:
print('\nEnter three ints:')
a, b, c = map(int, take(inp, 3))
print('The input is', a, b, c)
$ python input.py Enter three ints: 1 2 3 The input is 1 2 3 Enter three ints: 1 2 3 The input is 1 2 3 Enter three ints: 1 2 3 The input is 1 2 3 Enter three ints: