2016-02-21 2 views
0

Новичок Программист здесь. Я пытаюсь написать программу, которая будет запрашивать у пользователя оценку викторины, пока не войдет пустой ввод. Кроме того, я пытаюсь заставить вход перейти от отображения «quiz1:» к «quiz2:», «quiz3:» и т. Д. Каждый раз, когда пользователь вводит новый класс викторины. Как так:Множественные аргументы во вводе?

quiz1: 10 
quiz2: 11 
quiz3: 12 

Вот что я написал до сих пор:

grade = input ("quiz1: ") 
count = 0 
while grade != "" : 
    count += 1 
    grade = input ("quiz ", count, ": ") 

Я успешно сумел сделать мой конец программы, когда пустое значение вводится на вход, но когда я пытаюсь ввести целое число для викторины класса я получаю следующее сообщение об ошибке:

«Traceback (самый последний вызов последним): Файл "C: \ Users \ Kyle \ Desktop \ тест script.py", строка 5, в класс = вход ("викторина", счет, ":") TypeError: ввод ожидается в большинстве 1 аргументов, получил 3"

Как включить более чем один аргумент внутри скобок, связанных с классом вводом?

+0

Что вы хотите сделать с оценки? В зависимости от намерения вы можете создать словарь классов или создать список. В любом случае, вы сможете получить доступ к отдельным баллам, а также определить средние (и другие значения). – Stidgeon

ответ

0

Функция input только принимает один аргумент, являясь сообщением. Однако, чтобы обойти это, один из вариантов было бы использовать оператор печати перед пустым символа конца так:

. 
. 
. 
while grade != "": 
    count += 1 
    print("quiz ", count,": ", end="") 
    grade = input() 
+0

Большое спасибо; Это отлично поработало. –

0

Использование .format, например:

count = 0 
while grade != "" : 
    count += 1 
    grade = input('quiz {}:'.format(count)) 
Смежные вопросы