def square():
while True:
try:
a = input("Enter a number: ")
a = int(a)
except ValueError:
print("Enter an integer and not a string...try again")
c = a * a
print (c)
square()
抛出错误" TypeError:不能将序列乘以类型' str'""
的非int答案 0 :(得分:1)
如果输入的值不能转换为整数,程序仍会继续并尝试将字符串与字符串相乘,从而导致错误。
在获得可转换为整数的值之前,您可以继续询问输入。如果你得到了你想要的值,你就应该从while循环中脱离出来并完成其余的工作。
def square():
while True:
try:
a = int(input("Enter a number: "))
break
except ValueError:
print("Enter an integer and not a string...try again")
c = a * a
print (c)
square()