为什么if-else条件在python中同时执行这两个条件?

为什么if-else条件在python中同时执行这两个条件?,python,python-3.x,pycharm,Python,Python 3.x,Pycharm,如果我输入的数字大于或小于50,但精确数字为50,则代码将执行这两个语句 当我删除该语句时 if int(var2)==var1: print("equal") 那么程序运行得很好 这是代码 您需要将第二个if更改为elif: var1=50 var2=输入(“选择一个数字=”) 如果int(var2)>var1: 打印(“更大”) elif int(var2)=var1: 打印(“相等”) 其他: 打印(“较小”) 您需要将第二个if更改为elif: var1=50 var2=输入(

如果我输入的数字大于或小于50,但精确数字为50,则代码将执行这两个语句

当我删除该语句时

if int(var2)==var1:
    print("equal")
那么程序运行得很好

这是代码


您需要将第二个
if
更改为
elif

var1=50
var2=输入(“选择一个数字=”)
如果int(var2)>var1:
打印(“更大”)
elif int(var2)=var1:
打印(“相等”)
其他:
打印(“较小”)

您需要将第二个
if
更改为
elif

var1=50
var2=输入(“选择一个数字=”)
如果int(var2)>var1:
打印(“更大”)
elif int(var2)=var1:
打印(“相等”)
其他:
打印(“较小”)
尝试以下操作

var1 = 50
var2 = input("choose a number = ")

if int(var2)>var1:
  print("greater")
elif int(var2)==var1:
  print("equal")
else:
  print("lesser")
这样,您就不会有两个单独的if块。

请尝试以下方法

var1 = 50
var2 = input("choose a number = ")

if int(var2)>var1:
  print("greater")
elif int(var2)==var1:
  print("equal")
else:
  print("lesser")

这样,就不会有两个单独的if块。

如果int(var2)!=var1,如果int(var2)>var1,那么如果int(var2)!=var1,当您添加if时,if int(var2)>var1也会检查所有条件,直到您退出并继续您的代码或有一个else。
因此,这意味着当它检查第一个if时,它会检查第二个if to。

因此,在第二个if中使用elif。

当您添加if时,它会检查所有条件,直到您退出并继续您的代码或使用else。
因此,这意味着当它检查第一个if时,它会检查第二个if to。

因此,对第二个if使用elif。

您只需将第二个if语句更改为elif语句(elif代表else-if)。在代码中,第一个语句被视为一个if部分,第二个if-else部分被再次检查。因此,在某种程度上,有两个if/if-else部分。因此,2个输出。通过将第二个if更改为elif,您将把两个if/if-else部分减少为一个,并且只有一个输出。请尝试以下代码:

var1 = 50
var2 = input("choose a number = ")
if int(var2)>var1:
    print("greater")
elif int(var2)==var1:
    print("equal")
else:
    print("lesser")

您只需将第二条if语句更改为elif语句(elif代表elseif)。在代码中,第一个语句被视为一个if部分,第二个if-else部分被再次检查。因此,在某种程度上,有两个if/if-else部分。因此,2个输出。通过将第二个if更改为elif,您将把两个if/if-else部分减少为一个,并且只有一个输出。请尝试以下代码:

var1 = 50
var2 = input("choose a number = ")
if int(var2)>var1:
    print("greater")
elif int(var2)==var1:
    print("equal")
else:
    print("lesser")

您的意思是
elif
而不是内部
如果
?您的输入很可能既大于
var1
,又不等于
var1
。它不可能等于50,也不可能小于或大于50。你说的“两者”是什么意思?你们有三个。谢谢,伙计们,我用elif替换了第二个if,现在程序运行良好。你是说
elif
而不是内部
if
?你的输入很可能大于
var1
,而不等于
var1
。它不可能等于50,也不可能小于或大于50。你说的“两者”是什么意思?你们有三个。谢谢伙计们,我用elif替换了第二个if,现在程序运行良好。