Python 如何在使用循环时创建用户输入列表?
我正在创建一个函数,询问用户希望报告的睡眠天数,然后根据答案询问一周中的哪一天和睡眠时间。函数必须返回一个列表列表,其中包含一周中的天数和用户报告的睡眠时间。下面是我希望从python获得的desire输出的图片 到目前为止,我创建了一个基本代码,询问用户问题的内容,但我似乎难以适应while循环,无法根据用户想要报告的问题数量不断询问用户问题。下面是我迄今为止创建的代码Python 如何在使用循环时创建用户输入列表?,python,while-loop,user-input,Python,While Loop,User Input,我正在创建一个函数,询问用户希望报告的睡眠天数,然后根据答案询问一周中的哪一天和睡眠时间。函数必须返回一个列表列表,其中包含一周中的天数和用户报告的睡眠时间。下面是我希望从python获得的desire输出的图片 到目前为止,我创建了一个基本代码,询问用户问题的内容,但我似乎难以适应while循环,无法根据用户想要报告的问题数量不断询问用户问题。下面是我迄今为止创建的代码 def healthy(): days=int(input("How many days do you
def healthy():
days=int(input("How many days do you want to report?:"))
day=input("Day of the week:")
hours=int(input("Hours Slept:"))
print([day,hours])
healthy()
您可以循环使用
范围(天)
,然后将结果存储在列表列表中并从函数返回
def healthy():
days = int(input("How many days do you want to report?:"))
output = []
for i in range(days):
day = input("Day of the week:")
hours = int(input("Hours Slept:"))
output.append([day, hours])
return output
输出
result = healthy()
How many days do you want to report?:2
Day of the week:Mon
Hours Slept:8
Day of the week:Tue
Hours Slept:4
print(result)
#[['Mon', 8], ['Tue', 4]]
这就是我的方法。您也不需要while循环,可以使用
range(loops:int)
所以我试着执行这段代码,但在我给出最后一个小时后,似乎没有任何东西返回空闲状态,因为代码似乎结束了abruptly@anthonyceaser2021尝试
result=health()
,然后在它运行后可以打印(结果)
。我已经更新了答案以包含这一点。对于一个新的Python用户来说,这似乎有点费解。最好将其拆分为单独的行,以使信息更易于消化。个人观点:)在示例输出中,为什么星期一和星期二是引号,而不是星期三?
def healthy():
info = []
for i in range(int(input("How many days do you want to report?:"))):
info.append([input("Day of the week:"),int(input("Hours Slept:"))])
return info
print(healthy())