【发布时间】:2019-10-20 00:47:35
【问题描述】:
如果有人能解释为什么我在 else 语句中遇到语法错误,我将不胜感激。
x = 0
digits = 0
while(x != 0):
x = x // 10
digits += 1
print(digits)
else(x == 0):
print(1)
我必须创建一个使用 while 循环和条件语句的代码,它在其中评估整数包含的位数。否则需要else循环,否则如果我有x = 0,它将打印0作为否。数字当然是错误的。
【问题讨论】:
-
您的
print(digits)的缩进是错误的,它应该在while块内的其他语句的级别上。在else部分设置条件也是没有意义的。 -
添加到@uneven_mark stackoverflow.com/questions/3295938/…
-
else在任何情况下都不接受表达式。 -
从逻辑上思考:你应该在循环之前还是之后处理x等于0的特殊情况? (提示:循环运行后,无论 x 的值是什么,你能说它是真的吗?)