python - 重复用户输入菜单
问题描述
任务问题:
“在程序中添加一个重复菜单,询问用户在输入数字后他们希望查看哪条数据。”
我创建了一个 while 循环,它成功打印出菜单的第一部分,即最大值。但是,在最小值循环后输入“2”时,不显示数字仅循环菜单字符串
annoyinglist = []
count = 0
while True:
a = input ("Enter a number: ")
if a == "":
break
else:
a = int (a)
annoyinglist.append (a)
count = count + 1
b = 1
while b == int(input("Which option would you like: \n 1 - The biggest number entered \n 2 - The smallest number entered \n 3 - Number of values entered \n 4 - Total of values entered \n 5 - Average (mean) of values entered \n 0 - Exit \n ")):
if b == 1:
print (max(annoyinglist))
if b == 2:
print (min(annoyinglist))
根据任务,结果应如下所示:
> 输入一系列数字:
5
3
7
4
5
8
>
您想要哪个选项:
1 - 输入的最大数字
2 - 输入的最小数字
3 - 输入值的数量
4 - 输入值的总和
5 - 输入值的平均值(平均值)
0 - 退出
5
输入值的平均值(平均值):5.333333333333333
您想要哪个选项:
1 - 输入的最大数字
2 - 输入的最小数字
3 - 输入值的数量
4 - 输入值的总和
5 - 输入值的平均值(平均值)
0 - 退出
3
输入的值数:6
您想要哪个选项:
1 - 输入的最大数字
2 - 输入的最小数字
3 - 输入值的数量
4 - 输入值的总和
5 - 输入值的平均值(平均值)
0 - 退出
0
出口
解决方案
只需更改您的最终while
循环:
annoyinglist = []
count = 0
while True:
a = input ("Enter a number: ")
if a == "":
break
else:
a = int (a)
annoyinglist.append (a)
count = count + 1
while True:
b_str = input("Which option would you like: \n 1 - The biggest number entered \n 2 - The smallest number entered \n 3 - Number of values entered \n 4 - Total of values entered \n 5 - Average (mean) of values entered \n 0 - Exit \n ")
b = int(b_str if b_str else 0) #so that an empty string stops the loop
if b == 1:
print (max(annoyinglist))
elif b == 2:
print (min(annoyinglist))
else:
break
问题是:从开始,b=1
然后要求2
您while
立即取消条件!
推荐阅读
- python - 使用稀疏索引和值更新 numpy 数组
- android - Android Webrtc 从来自其他对等方的流中录制视频
- reactjs - 如何调用返回 json 的外部函数并从反应另一个组件中调用?
- python - TemplateDoesNotExist, Django 路径很好但无法打开文件
- ios - UICollectionView 给出“索引超出范围”错误
- c++ - 将两个数字转换为单词
- c# - c# 度假村列表
- go - Go net/http 请求正文始终为 nil
- java - java中的short和char自动拆箱
- swift - 带有大标题的导航栏上的动画segue错误