如何让用户仅输入5个元素存入list?编程新手作业求助
如何让用户仅输入5个考试分数并存入列表
嘿,作为刚接触列表的编程新手,能想到结合之前学的循环知识来解决问题真的很棒!针对你的需求——让用户输入恰好5个考试分数并存入列表,这里有两种简单易懂的实现方法,还加了输入验证来避免用户输入无效内容:
方法1:用for循环固定执行次数
这种方法最直观,因为我们明确知道需要输入5次,直接用range(5)让循环跑5次就行:
# 创建一个空列表,用来存放分数 exam_scores = [] # 循环5次,每次获取一个分数 for _ in range(5): # 加入输入验证,确保用户输入的是整数 while True: try: score = int(input("请输入第{}个考试分数:".format(_ + 1))) break except ValueError: print("哎呀,这不是有效的整数分数,请重新输入!") # 把验证通过的分数添加到列表里 exam_scores.append(score) # 展示最终的分数列表 print("你输入的5个考试分数为:", exam_scores)
代码解释:
exam_scores = []:先初始化一个空列表,用来存储后续输入的分数。for _ in range(5):range(5)会生成0到4的数字,循环刚好执行5次,_是我们不需要用到循环变量时的常用写法。- 内层的
while True循环:用来做输入验证,如果用户输入的不是整数,会抛出ValueError,这时我们提示用户重新输入,直到输入有效整数才跳出循环。 exam_scores.append(score):把每次输入的有效分数添加到列表末尾。
方法2:用while循环+计数器
如果你更习惯用while循环(就像你之前写的退出程序那样),可以用一个计数器来跟踪已经输入的分数数量,直到数量达到5就停止循环:
exam_scores = [] input_count = 0 while input_count < 5: try: score = int(input("请输入考试分数:")) exam_scores.append(score) input_count += 1 # 每成功输入一个分数,计数器加1 except ValueError: print("请输入有效的整数分数哦!") print("你输入的5个考试分数为:", exam_scores)
代码解释:
input_count是计数器,初始值为0,每成功输入一个分数就加1。while input_count < 5:只要计数器小于5,循环就继续执行,直到输入满5个分数后退出循环。- 同样加入了输入验证,确保用户不会因为输入非数字导致程序报错。
这两种方法都能满足你的需求,你可以根据自己的习惯选择其中一种。如果对列表的其他操作有疑问,随时提问哦!
内容的提问来源于stack exchange,提问作者Francis Bradley
相关产品推荐
相关产品推荐

