Я пытаюсь создать программу с функциями, отображающими пять разных флагов. Пользователь выбирает эти флаги из списка. Моя самая большая проблема заключается в том, что каждый флаг печатает, независимо от выбранного мной флага.Пользователь, выбранный пользователем Python
Я попытался сохранить каждую часть кода отдельно в своей собственной функции и использовать решение if, elif, else, чтобы ограничить печать этого флага, но не очень повезло с поиском решения того, что кажется проблема с петлей. Я попытался вставить код if, elif, else в функцию обработки непосредственно в функцию вопроса, но не нашел, что это полезно. Я также попытался поместить инструкцию break после каждого оператора if, чтобы закончить цикл после выбора, но это ничего не делало.
Что я сделал не так? петли - мое самое слабое звено, внимательно следишь за заявлениями, я подозреваю, что фалют может лежать в моем заявлении if, но я не уверен. Любая помощь будет оценена, спасибо.
Это мой код:
Защиту основных():
intro()
choice = question()
processing(choice)
unitedStates()
italy()
germany()
def intro():
print("program to draw a national flag.")
print()
def processing(choice):
for f in choice:
if choice == "1":
unitedStates()
break
elif choice == "2":
italy()
break
elif choice == "3"
germany()
break
return unitedStates(), italy(), germany()
def question():
while True:
choice =()
print("Please choose a flag:")
print(" 1, for United States;")
print(" 2, for Italy;")
print(" 3, for Germany;")
choice = input("-->",)
if choice[0] >= "1" and choice[0] <= "5" and len(choice) == 1:
break
print("Choice must be, between 1-5, not ", choice + ".")
print("Try again.")
print()
print()
return choice
Мой флаг функция вне этого пункта. Я отправлю их, если они будут полезны, чтобы ответить на мой вопрос выше.
вы вернуть все флаги в обработке(), я предполагаю, что это ваша проблема – mguijarr
Да, вам не нужно ничего возвращать из вашего 'обработки)' функции (. Просто избавитесь от всей обратной линии. – logic
Почему бы не поместить функции в словарь 'funcs = {'3': germany, ...}'? Тогда это просто 'funcs [choice]()'. – jonrsharpe