Как ссылаться на переменные внутри входной функции?

1

Я знаю, что это неверно, потому что "input()" может принимать только один аргумент, но я хочу включить эти переменные во входные данные, попросив пользователя ввести больше чисел:

n = 5
average = 0
for i in range(n):
    numbers = eval(input('Please enter number ', (i+1) ,' of ', n ,' to average:',sep='',end=''))
    average = average+numbers/n
  • 5
    input не похож на print , для отображения в качестве приглашения требуется одна строка. Вы должны создать эту строку самостоятельно - в Python есть несколько опций для форматирования строки, которые вы могли бы изучить. Также вы почти никогда не должны использовать eval .
Теги:
python-3.x
input
formatting

2 ответа

1

Вы можете использовать форматирование строк и F-строки (только Python 3. 6+)

Форматирование строк:

n = 5
average = 0
for i in range(n):
    numbers = int(input('Please enter number {} of {} to average:'.format(i+1, n)))
    average = average+numbers/n

F-Строки (работает на Python 3. 6+):

n = 5
average = 0
for i in range(n):
    numbers = int(input(f'Please enter number {i+1} of {n} to average:'))
    average = average+numbers/n
0

Вы можете попытаться объединить свои переменные после преобразования их в строку [str (x)]

n = 5
average = 0
for i in range(n):
    numbers = eval(input('Please enter number '+str(i+1)+' of '+str(n)+' to average:'))
    average = average+numbers/n

Это наивный подход, но он работает отлично.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню