这是我想要了解的代码。它接收用户输入,我关心的是它只有在我键入"否",而不是" no"。
时才有效。houseprice = int(input("please enter the house cost: $"))
while houseprice <= 0:
print("please enter a valid number try again")
houseprice = int(input("please enter the house cost: $"))
familyincome = int(input("please enter your family income: $"))
houseowened = input("have you owened a house before? ('Yes' or 'No')")
while not houseowened == 'Yes' and houseowened == 'No':
print("please enter a valid answer")
houseowened = input("have you owened a house before? ('Yes' or 'No')")
if houseprice > 500000 or familyincome > 100000 or houseowened == 'Yes':
print("eligeble")
else:
if houseowened == 'No' or familyincome < 100000 or houseprice < 500000 :
print("not eligible")
答案 0 :(得分:1)
查看代码中的比较。他们正在与字符串"No"
进行比较。如果你希望它接受小写形式,也许你应该在houseowned == 'No'
的任何地方做这样的事情:
(houseowened.lower() == 'no')
此变体将接受任何大小写。请务必对所有yes
es。
答案 1 :(得分:1)
在比较几乎所有语言的字符串时,这是一个字面比较。
以下代码:
if(MyString == "No")
只有在字符串为"No"
时才会通过。 "no"
,"No "
," no"
和其他此类示例都不会通过检查,因为它们不同。
大多数语言都提供了一些工具,可以让您的生活更轻松。
对于Python,这称为lower()
,它将字符串的所有大写字母转换为小写。
所以"Foo".lower();
会给你"foo"
第二个是strip()
。这个删除字符串末尾的前导和尾随'空格'字符,因此" Foo "
将成为“Foo”
使用这两者使得检查字符串值变得更加简单。