简单Python 3.2.2程序中的语法错误
这段代码是一本关于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
也需要缩进,否则if
和else
的语句就对不齐了。也就是说,代码应该像这样:
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)