Я пытаюсь выполнить свое задание и борюсь. Идея состоит в том, что вы выбираете тип отчета, A или T. Оттуда вы продолжаете вводить целые числа, пока не выйдете. Как только вы выйдете, он должен распечатать общее количество целых чисел, сложенных вместе для отчета «T»; или для отчета «А» он должен напечатать итог, а также список введенных целых чисел.
Проблема, с которой я сталкиваюсь в данный момент, связана с отчетом «T», когда я ввожу целые числа, ничто не приведет к ошибке или выходу. Он просто постоянно просит меня ввести другое целое число. Затем из отчета «А» каждое целое число, которое я ввожу, просто дает «недопустимый ввод». Я уверен, что в моем коде, вероятно, есть еще много проблем, но в данный момент я не могу обойти эти. Любые указатели будут действительно оценены. Спасибо
def adding_report(report):
total = 0
items = []
while True:
user_number = input("Enter an ingteger to add to the total or \"Q\" to quit: ")
if report.upper == "A":
if user_number.isdigit():
total += int(user_number)
items.append(user_number)
elif user_number.upper() == "Q":
break
else:
print("Invalid input\n")
elif report.upper() == "T":
if user_number.isdigit():
total += int(user_number)
elif user_number.upper() == "Q":
break
else:
print("Invalid input\n")
report = input("Report types include All Items (\"A\") or Total Only (\"T\")\nPlease select report type \"A\" or \"T\": ")
while True:
if report.upper() in "A T":
adding_report(report)
else:
print ("Invalid input")
report = input("Please select report type \"A\" or \"T\": ")
if report.upper == "A":
отсутствует пара скобок. - person Kevin   schedule 24.07.2018if report.upper == "A"
оценивается какif <function str.upper> == "A"
- person Daniel R. Livingston   schedule 24.07.2018break
вadding_report
, ты переносишься обратно в основной цикл. Добавьте еще одинbreak
подadding_report(report)
в строке 26. - person Daniel R. Livingston   schedule 24.07.2018