【问题标题】:Using while loop to count the number of user inputs使用 while 循环计算用户输入的数量
【发布时间】:2020-06-08 10:39:06
【问题描述】:

我尝试创建一个 while 循环函数,其中程序采用浮点数(米)的六个单独的用户输入。如果数字大于零,则接受每个输入。如果 number 小于零,则每个输入都被忽略。

虽然循环应该最多计算六个用户输入然后打印:

  • 成功输入的数量
  • 关闭的输入数
  • 最大的输入是
  • 所有输入的平均值是

我的挑战是我不明白如何使用 while 循环,以便它在输入一定数量之前计数,然后停止

以下是示例输出:

Give the latest user input: 86.2
Give the latest user input: 81.2
Give the latest user input:  79.6
Give the latest user input:  89.3
Give the latest user input:  -1
Give the latest user input:  86.5

There were 5 succesful input(s).
There were 1 dismissed input(s).
The highest input was 89.3.
The mean of all inputs was 84.56 meters.

【问题讨论】:

  • 到目前为止你的代码是什么?您是否尝试过在每次执行时计数的while 循环之前创建一个变量?
  • 可以使用for i in range(6):循环6次。

标签: python function while-loop count


【解决方案1】:

怎么样:


nums = []
while len(nums)<6:
  n = int(input())
  if n > 0:
    nums.append(n)

print(nums)
print(min(nums))
print(max(nums))

给予:

[2, 2, 3, 4, 1, 4]
1
4

【讨论】:

    【解决方案2】:

    试试

    sum=0
    count=0
    good_count=0
    max_val=-1
    while count<6:
        number = int(input())
        if number > 0:
            sum=sum + number
            good_count=good_count+1
            if number>max_val:
                max_val=number            
        count=count + 1
    print('there were {0} valid inputs'.format(good_count))
    print('there were {0} invalid inputs'.format(count-good_count))
    
    if good_count>0:
        print('the average value was '  ,sum/good_count)
        print('the maximum input values was ', max_val)
    else:
        print('there were no valid inputs so an average cannot be calculated')
        print('there were no valid inputs so a maximum value does not exist')```
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-14
      • 1970-01-01
      • 1970-01-01
      • 2011-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-16
      相关资源
      最近更新 更多