繁体   English   中英

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

[英]How to print a list of numbers and their average?

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

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

我应该以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的缩进规则,任何复合语句都必须在其后至少缩进一个语句。

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

for i in range(len(number_list)):
print (number_list[i], end = " ")
print ("\nThe average is:", average)
else:
print ("No values were entered")

for循环是一个复合语句,因为它需要缩进的内容。 您需要相应地缩进。 就像是:

for i in range(len(eggs)):
    print(eggs[i])

遍历内容的pythonic方法只是使用值而不是获取索引然后找到它。 Python的for循环更像是foreach循环,而不是实际的for循环。 重新制作看起来像:

for spam in eggs:
    print(spam)

另外,您还要检查是否没有数字。 为此使用普通的if语句,而不是循环中的一个。 else一个循环后面将运行时的主要部分( whilefor )没有完成break

这个:

for spam in eggs:
    print(spam)
else:
    print("Nothing")

与此不同:

if eggs:
    for spam in eggs:
        print(spam)
else:
    print("Nothing")

这是固定部分:D

# If statement to check if list is truthy (nonempty)
if number_list:
    # Note the for loop's target 'number'
    for number in number_list:
        # Note indentation.
        print(number, end=" ")
    print("\nThe average is:", average)

else:
    print("No values were entered")

编辑:本节上方的while循环后,您也有缩进错误。 我会留给你修复:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM