菜鸟问题,大家帮看看哪里出错了?

i=int(input("请输入当月利润:"))
j=0#奖金
if i<=100000:
    j=i*0.1
    if i>100000 and i<=200000:
        j=(i-100000)*0.075+100000*0.1
        
        
        
print("应发奖金为:",j,"元")

为什么输入大于100000小于200000的数时不执行j=(i-100000)*0.075+100000*0.1,而直接执行最后一段代码呢?

i=int(input("请输入当月利润:"))
j=0#奖金
if i<=100000:
    j=i*0.1
elif i>100000 and i<=200000:
    j=(i-100000)*0.075+100000*0.1
print("应发奖金为:",j,"元")
        
        
        

python是强格式语言..

你输入大于100000的数字,没有走if就直接跳出去了

你的结构是这样的

if(i<=100000){

    if(i>=100000 && i<=200000)

}

自然括号里的if永远不会执行。

修改之后,运行结果如下:

#in: 请输入当月利润:120000
#out:应发奖金为: 11500.0 元

 

i=int(input("请输入当月利润:")) j=0#奖金 if i<=100000: j=i*0.1 elif i>100000 and i<=200000: j=(i-100000)*0.075+100000*0.1 print("应发奖金为:",j,"元")

i=int(input("请输入当月利润:"))
j=0#奖金
if i<=100000:
    j=i*0.1
elif i>100000 and i<=200000:
    j=(i-100000)*0.075+100000*0.1

print("应发奖金为:",j,"元")

 

由于有条件 if i<=100000: 所以整个IF下的都被跳过了呀。你是要说if i>=100000:吗?