我无法弄清楚为什么我的代码没有除去任何浮点数并让它们在while循环中运行(然后搞砸了代码)。我可以做些什么来保护'while循环' - 只要在输入中放入浮点数就不会运行它?
这是我的代码:
if not a.isdigit() and int(a) < 0 and not b.isdigit() and int(b) < 0 :
print("Invalid input")
else :
count = 1
while count < int(b) :
c = count * int(a)
print('{} * {} = {}'.format(count, a, c))
count = count + 1
c = int(a) * int(b)
print('{} * {} = {}'.format(b, a, c))
答案 0 :(得分:1)
您可能需要将这些and
更改为or
,以便任何条件(a.isdigit()
,int(a) < 0
等)为真,都可以避免循环。
答案 1 :(得分:0)
预先检查b是否有小数:
if round(b)==b: