#python
#python
Вопрос:
Мисти любит покемонов и любит собирать карточки с покемонами. В настоящее время у нее есть карты P pokemon. Она хочет иметь определенное количество карточек на D-й день. Ее друг Эш готов помочь ей достичь этого числа. Эш будет ежедневно предоставлять ей N карт, чтобы за день до D-го дня у нее было необходимое количество карт покемонов.
Формат ввода Первая строка ввода состоит из количества тестовых примеров, T
Единственная строка каждого тестового примера состоит из трех целых чисел, разделенных пробелами, P, N и D.
Ограничения 1<= T <=100
1<= D <=100000
0 <= P, N <=100000
Формат вывода Для каждого тестового примера выведите требуемый ответ в отдельной строке.
Пример тестового примера 1
Ввод
2
5 4 6
2 2 2
Вывод
25
4
Для приведенного выше вопроса я написал следующий код
def main():
n=int(input())
for i in range(n):
li=list(int(i) for i in input().strip().split(' '))
P=li[0]
N=li[1]
D=li[2]
for i in range(D-1):
mul=(D-1)*N
ans=mul P
return ans
main()
После компиляции я получаю следующую ошибку
Traceback (most recent call last):
File "CandidateCode.py", line 16, in <module>
main()
File "CandidateCode.py", line 5, in main
li=list(int(i) for i in input().strip().split(' '))
File "<string>", line 1
5 4 6
^
SyntaxError: invalid syntax
Какой здесь недопустимый синтаксис?
Комментарии:
1. Может быть, вам следует добавить отступ кода после
def main():
строки?2. @baldr он все еще выдает ошибку
3. Если вы используете python 2, то это проблема
4. @NatthaphonHongcharoen почему?
5. @manasvi.jain смотрите мой ответ
Ответ №1:
Я полагаю, что вы используете Python 2, что является причиной проблемы.
input()
В python 2 сама команда принимает не просто строку, вам нужно, чтобы она была '5 6 7'
, а не 5 6 7
синтаксисом Python 3.
В python 2 вы можете
>>> a = input()
2
И a
будет int
вместо string
, как в Python 3.
Ввод 5 6 7
в python 2 похож a = 5 6 7
на и, очевидно, приведет к ошибке.
Комментарии:
1. Одно дополнительное сообщение для запрашивающего: 2 истекло несколько месяцев назад и больше не поддерживается. Эта дата была объявлена более 10 лет назад. Вы действительно хотите переключиться на Python 3 сейчас.
Ответ №2:
def main():
n=int(input())
for i in range(n):
li=list(int(i) for i in input().strip().split(' '))
P=li[0]
N=li[1]
D=li[2]
for i in range(D-1):
mul=(D-1)*N
ans=mul P
return ans
main()