【发布时间】:2020-03-15 00:13:24
【问题描述】:
当我尝试执行代码时,第一个 if 条件有效,但 elif 条件无效。在条件语句之后,except 条件运行没有问题。
data = input("Type the number: ")
try:
integer = int(data)
decimal = float(data)
if type(integer) == type(int()):
for x in range(1,11,1):
print("{} X {} = {}".format(integer,x,(integer*x)))
elif type(decimal) == type(float()):
for x in range(1,11,1):
print("{} X {} = {}".format(decimal,x,(decimal*x)))
except (TypeError,ValueError):
print("Please type a number")
【问题讨论】:
-
为什么会起作用?
integer总是一个整数,那为什么会是假的呢? -
为了让@Daniel Roseman 的注释更清晰,任何浮点数都可以转换为int:
type(int(1.2323)) == type(int()),所以elif永远不会被执行。 -
嗨@Arsallan,如果您找到了有价值的答案,请将其标记为已接受,否则请在您的问题中添加更多精确度:)
标签: python python-3.x if-statement conditional-statements