Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 取数与计算_Python_Loops_While Loop - Fatal编程技术网

Python 取数与计算

Python 取数与计算,python,loops,while-loop,Python,Loops,While Loop,一种程序,从用户那里获取大量数字,当输入q时,它计算最大最小和平均值之和 n = input("Please enter a number:") count = 0 min = 0 max = 0 sum= 0 while n !="q" and n !="Q" and n !="Quit": n = input("Please enter another number:") n1 = float(n) sum += n1 count = count +1 为

一种程序,从用户那里获取大量数字,当输入q时,它计算最大最小和平均值之和

n = input("Please enter a number:")
count = 0
min = 0
max = 0
sum= 0

while n !="q" and n !="Q" and n !="Quit":
    n = input("Please enter another number:")
    n1 = float(n)
    sum += n1
    count = count +1

为此,我将使用内置Python函数:

nums = []

n = input("Please enter a number (or q to quit):")
while n not in {"Q","q","Quit"}:
    nums.append(int(n))
    n = input("Please enter a number (or q to quit):")

print("Count: {}, Max: {}, Min: {}, Sum: {}, Average: {}".format(len(nums),max(nums),min(nums),sum(nums),sum(nums)/len(nums)))

因此,这里有三个问题:

  • 您需要使用
    原始输入
    而不是
    输入

  • whilen=“q”和“q”以及“Quit”:
    将不起作用,因为它不会将
    n
    “q”
    “Quit”
    中的每一个进行比较。当n=“q”和n!=“Q”和n!=“退出”:

  • 如果只有一个号码就不行了。最好将您的
    n=input(“请输入另一个数字:”)
    放在while的末尾,而不是第一行

  • 试试这个:

    n = raw_input("Please enter a number:")
    count = 0
    min = None
    max = 0
    sum= 0
    
    while n !="q" and n!="Q" and n!="Quit":
        n1 = float(n)
    
        if min is None:
            min = n1
        elif n1 < min:
            min = n1
    
        if n1 > max:
            max = n1
    
        sum += n1
        count = count +1
        n = raw_input("Please enter another number:")
    
    print("Total:", sum)
    print("Count:", count)
    print("Min:", min)
    print("Max:", max)
    print("Average:", sum/count)
    
    n=原始输入(“请输入一个数字:”)
    计数=0
    最小值=无
    最大值=0
    总和=0
    而n=q和n=Q和n=“退出”:
    n1=浮动(n)
    如果最小值为无:
    最小值=n1
    elif n1最大值:
    最大值=n1
    总和+=n1
    计数=计数+1
    n=原始输入(“请输入另一个数字:”)
    打印(“总计:”,总和)
    打印(“计数:”,计数)
    打印(“分钟:,分钟)
    打印(“最大值:”,最大值)
    打印(“平均:”,总和/计数)
    
    n=“q”和“q”以及“退出”
    必须是
    n=“q”和n!=Q和n=“退出”
    ,或者更好的做法是,
    n不在(“Q”、“Q”、“退出”)
    。n=input(“请输入一个数字:”)count=0 min=0 max=0 sum=0,而n=q和n=Q和n=“退出”:n1=浮动(n)总和+=n1计数=计数+1 n=输入(“请输入另一个数字:”)打印(计数)打印(总和)所以我这样做了,但我仍然想得到minvalue和maxvalue以及总数。我怎么能做到呢?但是为什么如果min没有呢?它可能是其他东西吗?我们需要用一些东西初始化
    min
    。如果我们保持它
    min=0
    ,那么如果提供的数字为负数,则条件将失败。一个更好的方法是用-Infinity初始化min,比如
    min=-float('inf')
    ,然后我们可以去掉
    ,如果min是None
    检查。但我还有一个问题。我是否可以将if min设置为None和elif如果您将其与其他if elif else块合并,则可能是if在循环中每次都不会执行,这意味着在循环结束时,min计算可能不正确。你到底想做什么?代码中不应该有任何关于max、min和total的公式吗?不,基本上我要做的是将所有整数存储在一个列表中。然后我使用Python函数提取相关数据,比如最大值或最小值等。Python有很多非常强大的内置函数。