Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.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 - Fatal编程技术网

Python 如何打印数字及其平均值的列表?

Python 如何打印数字及其平均值的列表?,python,Python,对于我的作业,我必须创建一个程序,让用户输入几个数字。我还想创建一个包含所有数字及其平均值的列表 但是如何为数字列表创建代码呢 我应该用0或-999等数字退出 一行具有无效语法 print (number_list[i], end = " ") 这是我的密码 number_list = [] sum = 0.0 user_number = eval(input("Please enter a number (-999 quits): ")) # Loop until the user is

对于我的作业,我必须创建一个程序,让用户输入几个数字。我还想创建一个包含所有数字及其平均值的列表

但是如何为数字列表创建代码呢

我应该用0或-999等数字退出

一行具有无效语法

print (number_list[i], end = " ")
这是我的密码

number_list = []
sum = 0.0

user_number = eval(input("Please enter a number (-999 quits): "))

# Loop until the user is ready to quit
while (user_number != -999):
    number_list.append(user_number)
    sum = sum + user_number
    user_number = eval(input("Please enter a number (-999 quits): "))

# Make sure the user entered something
if (len(number_list) != 0):
    # Compute average
    average = sum / len(number_list)

    # Do output
    print ("Using the numbers:")

    for i in range(len(number_list)):
        # Note the end = " " at the end will keep the output on
        #   the same line
        print (number_list[i], end = " ")

    # Note the \n at the start of this line is needed because
    #   the previous print statement ended with a comma.  This
    #   \n will move the cursor to the next line
    print ("\nThe average is:", average)
else:
    print ("No values were entered")

由于Python的缩进规则,任何复合语句都需要在其后缩进至少一条语句

让我们关注代码的这一部分:

范围内i的
(len(编号列表)):
打印(编号列表[i],结束=”)
打印(“\n平均值为:”,平均值)
其他:
打印(“未输入任何值”)
for
循环是一个复合语句,因为它需要在后面缩进内容。您需要相应地缩进它们。比如:

范围内的i(len(鸡蛋)):
打印(鸡蛋[i])
循环处理内容的python方法只是使用值,而不是获取索引然后找到它。Python的
for
循环更像是
foreach
循环,而不是实际的
for
循环。重拍看起来像:

对于鸡蛋中的垃圾邮件:
打印(垃圾邮件)
此外,您还需要检查是否有任何数字。使用正常的
if
语句,而不是循环中的语句。当主部件(
while
for
完成时,循环后面的
else
将运行,而不会出现
中断

这:

对于鸡蛋中的垃圾邮件:
打印(垃圾邮件)
其他:
打印(“无”)
与此不同:

如果是鸡蛋:
对于鸡蛋中的垃圾邮件:
打印(垃圾邮件)
其他:
打印(“无”)
这是固定部分:D

检查列表是否真实(非空)的If语句 如果编号列表: #注意for循环的目标“number” 对于编号列表中的编号: #注意缩进。 打印(数字,结束=“”) 打印(“\n平均值为:”,平均值) 其他: 打印(“未输入任何值”)

编辑:在本节上方的
while
循环之后也有缩进错误。我将把这个问题留给您来解决:)

问得好!请正确缩进,您的代码将无法工作!Python检测到的语法错误与IDE无关。但我会注意到IDLE会自动添加缺少的缩进。打印平均值应该在循环之后,循环在
for
语句的
部分之后。@StefGeysels我不同意。我需要行打印的帮助(number,end=“”)。语法仍然错误。行“print(number,end=”“)的语法仍然错误。它给了您哪个错误?IndentationError或只是SyntaxError。我正在使用空闲编辑器,它显示“无效语法”。