【发布时间】:2020-10-01 08:01:24
【问题描述】:
s = True
while s == True:
#taking input from the user
num1 = int(input("enter a number: "))
sign = input("enter a sign from :+ , - , * , /")
num2 = int(input("enter a second number: "))
#calculation
if sign == "+" :
print(f'the sum of {num1} and {num2} is {num1+num2}')
elif sign == "-" :
print(f'the difference of {num1} and {num2} is {num1-num2}')
elif sign == "*" :
print(f'the multiplication of {num1} and {num2} is {num1*num2}')
elif sign == "/" :
print(f'the difference of {num1} and {num2} is {num1/num2}')
else:
print('invalid sign')
s = bool(input("type True to start the calculater and False to stop the calculater: "))
无论用户输入是什么,它都会被转换为 True 如何将输入转换为 False 以便退出循环
【问题讨论】:
-
当使用字符串参数调用
bool时,只有一个空字符串会给你False。请参阅文档中的Truth Value Testing。 -
您将
bool与eval混淆了。bool只是确定其参数是否具有真值;它不会解析字符串以查看它是否是特定的 Python 布尔文字。 -
但不要使用
eval:只需将您的输入与字符串"True"进行比较。
标签: python while-loop boolean user-input