此生不为成仙 发表于 2018-4-23 22:51:56

求各位大佬解答

代码中为什么要在倒数第二行加一个i = arr.作用是什么?

简述:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成.
提问:从键盘输入当月利润I,求应发放奖金总数?

i = int(input("净利润:"))
arr=
rat=
r=0
for idx in range(0,6):
    if i>arr:
      r+=(i-arr)*rat
      print("奖励金分别为:",(i-arr)*rat
      i = arr
print("总奖金为:",r)

BngThea 发表于 2018-4-24 07:45:24

更新i的值

此生不为成仙 发表于 2018-4-24 19:00:26

BngThea 发表于 2018-4-24 07:45
更新i的值

/但IF的条件不是只有i>arr的时候,才会进入IF循环吗?为什么i=arr的时候这个代码也可以

BngThea 发表于 2018-4-24 22:26:40

此生不为成仙 发表于 2018-4-24 19:00
/但IF的条件不是只有i>arr的时候,才会进入IF循环吗?为什么i=arr的时候这个代码也可以

这里是用一个值赋值给i,而不是你看到的“等于”
满足if后,进入里面会将i的值赋值为arr
这样下一次循环的时候因为 idx 变化,但 i 不变,就可以继续判断 i > arr 是否成立

此生不为成仙 发表于 2018-4-26 19:54:09

BngThea 发表于 2018-4-24 22:26
这里是用一个值赋值给i,而不是你看到的“等于”
满足if后,进入里面会将i的值赋值为arr
这样下一次循 ...

谢谢大佬
页: [1]
查看完整版本: 求各位大佬解答