【问题标题】:program with 10 integers and the possibility to see the biggest/smallest integer and so on具有 10 个整数的程序以及查看最大/最小整数等的可能性
【发布时间】:2017-10-14 04:22:47
【问题描述】:

我对编程真的很陌生,几周前我一直在尝试学习 Python。我觉得这很难,但也很有趣。我现在正在尝试执行一个程序,其中用户插入 10 个整数,然后可以执行以下操作:

程序:“你想做什么?:” 1. 给我看最大的整数。 2. 给我看最小的整数。 3. 显示所有数字的平均值加上一位小数。 4. 显示所有输入的整数。 5. 终止这个程序。

nr=[]
for i in range(10):
    a=int(input("Please Enter an integer. "))
    nr.append(a)
    s = [max(nr), min(nr), nr, sum(nr)/len(nr)]
    z = int((input("Please enter a number between 1 to 4. ")))
    if z == 1:
        print(s[0])
    elif z== 2:
        print(s[0])
    elif z == 3:
        print(s[0])
    elif z == 4:
        print(s[0])
    elif z == 5:
        break
    else:
        print("Please select a number between 1 to 5.")

这就是我已经走了多远,现在我只是卡住了。当我输入“请输入一个整数”时,例如“1”。然后我直接得到“请输入1到4之间的数字”。有人可以帮我解决这个问题吗?

【问题讨论】:

  • Python 内置了minmaxsum 函数。这应该会引导您朝着正确的方向前进。
  • 我可以给你一个提示:Built-in Functions。特别是printminmaxsumlenround应该很有趣
  • 您从未尝试使用 for 循环找到至少。

标签: python list python-3.x integer


【解决方案1】:

试试这个:

nr=[]
for i in range(10):
    a=int(input("Please Enter an integer. "))
    nr.append(a)
s=[max(nr),min(nr),nr,sum(nr)/len(nr)]
z = int((input("Please a number ,1>max,2>min,3>full list,4>average"))) 
if z == 1:
    print ("max= ",s[0])
elif z== 2: 
    print ("Min= ",s[1] )
elif z == 3: 
    print ("full list== ", s[2])
elif z == 4:
     print ("average ",s[3]) 
else: 
    print('plz select number b/w:1 to 4')

【讨论】:

  • 谢谢老兄!是的,我一直在玩内置功能。我现在遇到的问题是如何让程序让用户选择他们想看的东西。例如“按 1 查看最大的 nr。”等等。
  • nr=[] for i in range(10): a=int(input("请输入一个整数。")) nr.append(a) s=[max(nr),min (nr),nr,sum(nr)/len(nr)] z = int((input("请输入一个数字。")) ) if z==1: print s[0] elif z== 2: print s[0] elif z == 3: print s[0] elif z == 4: print s[0] else: print('plz select number b/w:1 to 4') 试试这个
  • 当我输入该代码时,我得到的是:“请输入一个整数。”,然后是“请输入一个介于 1 到 4 之间的数字。”
  • 我无法在此处以正确的格式写出代码。它只是变得一团糟......
【解决方案2】:

好的!花了几个小时,但我终于在这个论坛上的人的帮助下解决了这个问题。如果有人感兴趣,我会在这里分享代码。感谢所有帮助的人!

nr=[]
for i in range(10):
a=int(input("Please enter an integer. "))
nr.append(a)
s = [max(nr), min(nr), nr, sum(nr)/len(nr)]
while 1:
    print("""What would you like to do now?:
        1. Show me the biggest integer.
        2. Show me the smallest integer.
        3. Show me the average of all the integers with one decimal.
        4. Show all the integers.
        5. Terminate this program.""")

    z = input("Choose a number between 1-5. ")
    if z == "1":
        print(s[0])
    elif z == "2":
        print(s[1])
    elif z == "3":
        print(s[3])
    elif z == "4":
        print(s[2])
    elif z == "5":
        break
    else:
        print("Please select a number between 1-5.")

【讨论】:

    【解决方案3】:

    我不会为你编写代码,但在这里我给你一些提示:

    要在一组整数中找到最大值或最小值,您可以遍历该集合,将第一个数字保存到循环外的变量中,然后将下一个数字与它进行比较。

    如果数字更小或更大(取决于您要查找的内容,最小值或最大值),请将变量设置为新值。

    遍历集合后,外部变量包含最大值或最小值。

    伪代码示例:

    int max = firstOfList
    for (int i in set) { 
       if (i > max)
          max = i
    }
    
    int min = firstOfList
    for (int i in set) { 
       if (i < min)
          min = i
    }
    

    至于平均值,您只需将所有数字相加并除以列表的大小即可。

    要再次显示所有数字,您需要迭代并将它们打印到控制台。

    PS:我忽略了只指出最小/最大函数的简单方法,因为你想练习编程。

    【讨论】:

    • 我想指出这个答案的质量,做得好先生。
    • 谢谢大家!我现在开始阅读更多内容,所有这些都非常有帮助。我也找到了“简单”的方法。 :) 我现在要继续编写代码,并在我再次陷入困境时通知您。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-08
    • 1970-01-01
    • 2012-04-09
    • 2015-03-02
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多