【发布时间】:2014-06-18 03:40:11
【问题描述】:
我正在开发一个简单的转换程序,但我一直在阻止用户输入需要整数的字符串:
choicecheck = 1
inputcheck = 1
while choicecheck == 1:
choice = input ("""please choose type of convert:
1. Centimeters to inches
2. Inches to centimeters
3. Exit""")
while inputcheck == 1:
if choice == "1":
cm = int(input ("Please type in value in centimeters."))
if type(cm) == int:
cmsum = cm * 0.39 # multiplies user input by 0.39
print (cm, " centimeters is ", cmsum, " inches")
choicecheck = 0
inputcheck = 0
else:
print("Sorry, invalid input")
当谈到inputcheck 时,if 语句的else 部分不起作用,我不知道为什么会这样。请帮忙。
【问题讨论】:
-
type(cm)永远只能是int,因为cm是使用对用户输入的int()的调用构造的。 但是如果用户碰巧输入了一些不能被解释为整数的东西,那么调用就会失败。为此,您可以使用 @mhlester 建议的try/except声明。 Python 中很少进行类型检查。
标签: python if-statement while-loop