我有这个代码迭代用户输入并返回输出
while True:
city = input("Enter city.")
if city in city_list:
print (city,'selected')
break
else:
print ('Please try again.')
由于我要求多次输入,看起来多余,我试图将其封装在一个函数中,这是整个函数
def get_filters():
print ('Welcome .')
#list for month and day data_user
city_list=['city1','city2','city3']
month_list=['January', 'February', 'March', 'April', 'May','June','All']
day_list=['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday','All']
city_string=('Enter city.')
city=None
month_string=('Enter month.')
month=None
day_string=('Enter day.')
day=None
def check_input(data, s_string, data_list):
while True:
data = input(s_string)
if data in data_list:
print (data,'selected')
return data
break
else:
print ('Please try again.')
check_input(city, city_string, city_list)
check_input(month, month_string, month_list)
check_input(day, day_string, day_list)
return city, month, day
如果我运行代码,我会收到一条错误消息,即代码后面的值无法加载。但是,日期和月份都没有通过。 我如何返回值有什么问题吗?
答案 0 :(得分:1)
不确定你的意图是什么,假设你想抓住 用户输入的三个选项。这是python3下的工作代码。请试试这个......
{{1}}