简单Python 3.2.2程序中的语法错误

0 投票
5 回答
4092 浏览
提问于 2025-04-17 09:00

这段代码是一本关于Python的书里的示例代码。它是一个简单的程序,用来输入整数并显示这些整数的总和、数量和平均值。不过,当我尝试运行这段代码时,在第18行的冒号那里出现了语法错误。我觉得这段代码看起来没问题。有什么想法吗?

print("type integers, each followed by Enter; or just Enter to finish")

total = 0
count = 0

while True:
    line = input("integer: "
    if line:
        try:
            number = int(line)
        except ValueError as err:
            print(err)
            continue
    total += number
    count += 1
    else:
        break
if count:
    print("count=", count, "total =", total, "mean =", total / count)

当我尝试运行这个时,我得到了一个错误:

  File "./intproj.py", line 18
    else:
       ^
SyntaxError: invalid syntax

我在Ubuntu 11.10上使用的是IDLE作为IDE,Python版本是3.2.2


更新后的代码:

print("type integers, each followed by Enter; or just Enter to finish")

total = 0
count = 0

while True:
    line = input("integer: ")
    if line:
        try:
            number = int(line)
        except ValueError as err:
                print(err)
                continue
    total += number
    count += 1
    else:
        break
if count:
    print("count=", count, "total =", total, "mean =", total / count)

现在我得到了这个错误:

  File "./intproj.py", line 18
    else:
       ^
SyntaxError: invalid syntax

修复后的代码:

print("type integers, each followed by Enter; or just Enter to finish")

total = 0
count = 0

while True:
    line = input("integer: ")
    if line:
        try:
            number = int(line)
        except ValueError as err:
                print(err)
                continue
        total += number
        count += 1
    else:
        break
if count:
    print("count=", count, "total =", total, "mean =", total / count)

谢谢!

5 个回答

1

你需要一个闭合的括号:

line = input("integer: ")
1

你忘了在上一行结束你的 input() 调用了。

6

第9行似乎缺少一个)

把:

line = input("integer: "

改成:

line = input("integer: ")

需要把except这一行缩进,以对齐try

而且下面的几行:

total += number
count += 1

也需要缩进,否则ifelse的语句就对不齐了。也就是说,代码应该像这样:

print("type integers, each followed by Enter; or just Enter to finish")

total = 0
count = 0

while True:
    line = input("integer: ")
    if line:
        try:
            number = int(line)
        except ValueError as err:
            print(err)
            continue
        total += number
        count += 1
    else:
        break
if count:
    print("count=", count, "total =", total, "mean =", total / count)

撰写回答