鱼C论坛

 找回密码
 立即注册
查看: 1100|回复: 6

[已解决]这个代码原理不太懂 求讲解

[复制链接]
发表于 2018-6-9 09:29:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. i=int(input('利润:')) #利润后面为啥加冒号
  2. if i <= 10000:
  3.     奖金 = i * 0.1
  4. elif 100000<i<=200000:
  5.     奖金 = 100000*0.1+(i-100000)*0.075
  6. elif 200000<i<=400000:
  7.     奖金 = 100000*0.1+100000*0.075+(i-200000)*0.05
  8. elif 400000<i<=600000:
  9.     奖金 = 100000*0.1+100000*0.75+200000*0.05+(i-400000)*0.03
  10. elif 600000<i<=1000000:
  11.     奖金s = 100000*0.1+100000*0.75+200000*0.05+200000*0.03+(i-600000)*0.15
  12. elif i>1000000:
  13.     奖金 = 100000*0.1+100000*0.75+200000*0.05+200000*0.03+400000*0.15+(i-1000000)*0.01
  14. else:
  15.     奖金 = 0
  16. print('奖金:',bonuses) #奖金后面为啥加冒号  bonuses 前面加逗号  这块不太懂
复制代码
最佳答案
2018-6-9 09:45:05
首先你的代码就是错误的因为bonuses没有赋值,bonuses我记得中文意思就是奖金的意思,所以应该讲代码中的奖金更改成bonuses,当然也可以选择将最后一行中的bonuses更改成奖金,在Python3.0中允许变量名为中文(但是不推荐这样做)
更改后的代码:
  1. i=int(input('利润:'))
  2. if i <= 10000:
  3.     bonuses = i * 0.1
  4. elif 100000<i<=200000:
  5.     bonuses= 100000*0.1+(i-100000)*0.075
  6. elif 200000<i<=400000:
  7.     bonuses = 100000*0.1+100000*0.075+(i-200000)*0.05
  8. elif 400000<i<=600000:
  9.     bonuses = 100000*0.1+100000*0.75+200000*0.05+(i-400000)*0.03
  10. elif 600000<i<=1000000:
  11.     bonuses = 100000*0.1+100000*0.75+200000*0.05+200000*0.03+(i-600000)*0.15
  12. elif i>1000000:
  13.     bonuses = 100000*0.1+100000*0.75+200000*0.05+200000*0.03+400000*0.15+(i-1000000)*0.01
  14. else:
  15.     bonuses = 0
  16. print('奖金:',bonuses)
复制代码

解释你的问题:
  1. i=int(input('利润:'))
复制代码

第一行你提出利润后面为啥加冒号。
你要观察它是被单引号引起来的,它就是一个字符串,就是显示/提示给用户看的没有其他作用,你去掉冒号程序照样可以正常运行。
  1. print('奖金:',bonuses)
复制代码

最后一行你提出的奖金后面为啥加冒号,bonuses前面为什么加逗号
奖金后面为啥加冒号因为它也是被单引号引起来的,就是一个字符串,而后面为什么bonuses前面为什么加逗号,因为它是一个整数类型的变量要与前面的字符串必须分开(两者不是同一类型如果bonuses也是字符串类型则可以通过+号来实现字符串连接)所以需要加一个逗号来分开,如果你不加逗号就会报错!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-6-9 09:34:21 | 显示全部楼层
#利润后面为啥加冒号

就是为了好看啊。哎。你不加冒号也可以,加其它的也行。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-6-9 09:40:33 | 显示全部楼层
ba21 发表于 2018-6-9 09:34
#利润后面为啥加冒号

就是为了好看啊。哎。你不加冒号也可以,加其它的也行。

print('奖金:',bonuses)  那个逗号呢 ?   这为什么不能用+ 拼接字符串
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-9 09:45:05 | 显示全部楼层    本楼为最佳答案   
首先你的代码就是错误的因为bonuses没有赋值,bonuses我记得中文意思就是奖金的意思,所以应该讲代码中的奖金更改成bonuses,当然也可以选择将最后一行中的bonuses更改成奖金,在Python3.0中允许变量名为中文(但是不推荐这样做)
更改后的代码:
  1. i=int(input('利润:'))
  2. if i <= 10000:
  3.     bonuses = i * 0.1
  4. elif 100000<i<=200000:
  5.     bonuses= 100000*0.1+(i-100000)*0.075
  6. elif 200000<i<=400000:
  7.     bonuses = 100000*0.1+100000*0.075+(i-200000)*0.05
  8. elif 400000<i<=600000:
  9.     bonuses = 100000*0.1+100000*0.75+200000*0.05+(i-400000)*0.03
  10. elif 600000<i<=1000000:
  11.     bonuses = 100000*0.1+100000*0.75+200000*0.05+200000*0.03+(i-600000)*0.15
  12. elif i>1000000:
  13.     bonuses = 100000*0.1+100000*0.75+200000*0.05+200000*0.03+400000*0.15+(i-1000000)*0.01
  14. else:
  15.     bonuses = 0
  16. print('奖金:',bonuses)
复制代码

解释你的问题:
  1. i=int(input('利润:'))
复制代码

第一行你提出利润后面为啥加冒号。
你要观察它是被单引号引起来的,它就是一个字符串,就是显示/提示给用户看的没有其他作用,你去掉冒号程序照样可以正常运行。
  1. print('奖金:',bonuses)
复制代码

最后一行你提出的奖金后面为啥加冒号,bonuses前面为什么加逗号
奖金后面为啥加冒号因为它也是被单引号引起来的,就是一个字符串,而后面为什么bonuses前面为什么加逗号,因为它是一个整数类型的变量要与前面的字符串必须分开(两者不是同一类型如果bonuses也是字符串类型则可以通过+号来实现字符串连接)所以需要加一个逗号来分开,如果你不加逗号就会报错!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-6-9 09:50:27 | 显示全部楼层
像番茄加两个蛋 发表于 2018-6-9 09:45
首先你的代码就是错误的因为bonuses没有赋值,bonuses我记得中文意思就是奖金的意思,所以应该讲代码中的奖 ...

感谢 懂了    这个是每日一题里面的 我看着方便 改成中文了 如果bonuses是字符串 可以+拼接 不是的话就要用逗号区分开 冒号其实并没啥用 对吧  就这个程序来说用单引号 或者双引号  并没有啥区别 是个人习惯吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-9 09:56:07 | 显示全部楼层
xn360906 发表于 2018-6-9 09:50
感谢 懂了    这个是每日一题里面的 我看着方便 改成中文了 如果bonuses是字符串 可以+拼接 不是的话就要 ...

是的,在Python3.0中单引号和双引号都代表字符串,所以得看自己习惯用哪一个,但不能一个单引号另一个双引号这是不允许的,必须成对出现!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2018-6-9 10:00:05 | 显示全部楼层
像番茄加两个蛋 发表于 2018-6-9 09:56
是的,在Python3.0中单引号和双引号都代表字符串,所以得看自己习惯用哪一个,但不能一个单引号另一个双 ...

3Q
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-1 00:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表