重复用户输入菜单

时间:2019-04-25 00:03:35

标签: 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.333333333333333333

您想要哪个选项:

1-输入的最大数字

2-输入的最小数字

3-输入的值数

4-输入的值总计

5-输入的平均值(平均值)

0-退出

  

3

输入的值数:6

您想要哪个选项:

1-输入的最大数字

2-输入的最小数字

3-输入的值数

4-输入的值总计

5-输入的平均值(平均值)

0-退出

  

0

退出

1 个答案:

答案 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条件的嘴巴!