python中的输入语句

python中的输入语句,python,Python,我正在学习python。我创建了一个与贷款相关的简单应用程序。问题陈述是这样的 如果申请人有高收入和良好的信用,他/她有资格获得贷款。不然就不行了。 这是密码 如果我在这两种情况下都做Y,那么它将显示我有资格获得贷款,这是正确的。如果我做了第一个Y和第二个N,则表明我没有资格获得贷款,这也是正确的,但当我做了第一个N和第二个Y,则表明我有资格获得贷款,这应该是不正确的。请告诉我我在代码中做错了什么。如果你能解决我的问题,我将非常高兴 您需要检查两个变量是否都等于“Y”。现在,您正在检查是否拥有良

我正在学习python。我创建了一个与贷款相关的简单应用程序。问题陈述是这样的

如果申请人有高收入和良好的信用,他/她有资格获得贷款。不然就不行了。 这是密码


如果我在这两种情况下都做Y,那么它将显示我有资格获得贷款,这是正确的。如果我做了第一个Y和第二个N,则表明我没有资格获得贷款,这也是正确的,但当我做了第一个N和第二个Y,则表明我有资格获得贷款,这应该是不正确的。请告诉我我在代码中做错了什么。如果你能解决我的问题,我将非常高兴

您需要检查两个变量是否都等于“Y”。现在,您正在检查
是否拥有良好的信用
是否等于“Y”,以及
是否拥有高收入
是否为“真”。即使它等于“N”,它也是

这是正确的代码:

has_high_income = input("Is your income high (Y/N): ")
has_good_credit = input("Is your good credit (Y/N): ")

if has_high_income == "Y" and has_good_credit == "Y":
    print("Eligible for the loan")
else:
    print("Not eligible for a loan")
只要字符串变量不是空的,它就是真的。由于您在
中输入的“N”具有高收入,因此它不是空的,因此是真的


这就是bool(高收入)将返回真值的原因。

您需要确保检查两个输入,而不是一个输入

你什么时候有这个密码

如果收入高且信用良好==“Y”:
打印(“符合贷款条件”)
第一次检查
if has_high_income
是否为
True
而不是内容是否为==“Y”


has_high_income=输入(“您的收入高吗(Y/N):”)
has\u good\u credit=输入(“您的信用是否良好(Y/N):”)
如果收入高且信用好:
打印(“符合贷款条件”)
其他:
打印(“不符合贷款条件”)

在python中,当您有如下语句时:

if has_high_income and has_good_credit == "Y":
您在这里检查两个语句:

if has_high_income:

当您检查没有等号的if语句时,您正在检查该变量是否不等于零,换句话说,任何非空值都将返回true。在另一种情况下,它正常检查等式

另一件需要记住的事情是,“and”关键字将它们转换为两个完全独立的语句,换句话说,您不能执行以下操作:

if thisVariable > 10 and < 50:
如果此变量大于10且小于50:
但你必须做到:

if thisVariable > 10 and thisVariable < 50
如果此变量大于10且此变量小于50

非常感谢!!!谢谢!!!不客气,很乐意帮忙!:)对于添加的信息,另一种方法是这样的:
如果所有人([收入高,信用好]):
但这是一种不太为人所知的方法,现在你可能希望遵守标准惯例。
if thisVariable > 10 and < 50:
if thisVariable > 10 and thisVariable < 50