首页 > 编程 > Python > 正文

Python基础练习——组合输出、利润奖金问题

2019-11-09 19:24:00
字体:
来源:转载
供稿:网友

题目一、有1、2、3、4个数字,能组成哪些互不相同且无重复数字的三位数?

解题思路:三层循环,通过条件判断得到互不相同的三位数 代码如下:

# -*- coding:utf-8 -*-for a in [1,2,3,4]: for b in [1,2,3,4]: for c in [1,2,3,4]: if a!=b and b!=c and c!=a: s=a*100+b*10+c PRint s

注意点: 1、Python与其他语言最大的区别就是,Python的代码块不使用大括号({})来控制类,函数以及其他逻辑判断。python最具特色的就是用缩进来写模块。 缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行 常见的因为缩进出错而提示的报错如下: IndentationError:unexpected indent: 意想不到的缩进,可能是tab和空格没对齐的问题。 IndentationError:unindent does not match any outer indentation level 使用的缩进方式不一致,有的是tab键缩进,有的是空格缩进,需改为一致

建议在每个缩进层次使用 单个制表符两个空格四个空格 , 切记不能混用

题目二、企业发放的奖金根据利润提成。利润(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时应发放奖金总数。

初始代码:

# -*- coding:utf-8 -*-i=raw_input("请输入利润i:")if i.isdigit(): i=int(i) if i>=1000000: s=(i-1000000)*0.01+(1000000-600000)*0.015+(600000-400000)*0.03+(400000-200000)*0.05+(200000-100000)*0.075+100000*0.1 elif i>=600000: s=(i-600000)*0.015+(600000-400000)*0.03+(400000-200000)*0.05+(200000-100000)*0.075+100000*0.1 elif i>=400000: s=(i-400000)*0.03+(400000-200000)*0.05+(200000-100000)*0.075+100000*0.1 elif i>=200000: s=(i-200000)*0.05+(200000-100000)*0.075+100000*0.1 elif i>=100000: s=(i-100000)*0.075+100000*0.1 else: s=i*0.1 print "应发的奖金数为:" print selse: print "输入不合法!"
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表