Python:函数不会返回值
我有一段代码,它遍历用户的输入并返回输出Python:函数不会返回值,python,Python,我有一段代码,它遍历用户的输入并返回输出 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 .')
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
如果我运行代码,我会收到一条错误消息,在代码的后面无法加载这些值。城市、日期和月份不会被传递。
我返回值的方式有问题吗?假设您想捕获 用户输入的三个选项。下面是python3下的工作代码。请试试这个
#!/usr/local/Cellar/python/3.6.5/bin/python3
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)
return data
break
else:
print ('Please try again.')
selection = (check_input(city, city_string, city_list) , check_input(month, month_string, month_list) , check_input(day, day_string, day_list))
print (selection)
---Output---
Enter city.city1
city1
Enter month.January
January
Enter day.Monday
Monday
('city1', 'January', 'Monday')
您的缩进在此关闭,请修复此问题并发布您收到的整个错误。您不保存检查输入报告的值:您需要执行:city=check\u inputcity,city\u string,city\u list。您的城市内部检查输入不在更高功能的范围内,因此对于更高功能,城市仍然为零