我和编程一样新。我有个问题。一旦用户选择了选项1-6,他们需要输入他们想要计算的数字,如何阻止用户输入字符而不是数字?
while menu:
usersChoice=raw_input("Please make your selection now:")
if usersChoice=="1":
print("You have selected AREA (SQUARE)")
length=input("Input Length?")
print"Area is:", length**2.0
if usersChoice=="2":
print("You have selected AREA (Rectangle)")
length=input("Input Length?")
width=input("Input Width?")
print("Area is:", length*width)
menu=False
答案 0 :(得分:1)
Python中的字符串具有isdigit()
函数。
您可以使用它来测试:
"123".isdigit() #True
"a123".isdigit() #False
然而,这仅测试正整数。所以:
"12.5".isdigit() #False
"-20".isdigit() #False
答案 1 :(得分:1)
试试这段代码:
def validate_is_number(number):
try:
float(number)
return True
except ValueError:
return False
validate_is_number(usersChoice)
您可以使用validate_is_number的结果和if语句进行打印并请求另一个响应。
答案 2 :(得分:1)
答案 3 :(得分:0)
您可以使用str.isalpha()
来检测字符。
例如:
usersChoice=raw_input("Please make your selection now:")
if usersChoice.isalpha() == True:
print("Sorry, your input must only be numerical. Please try again.")
menu()