Python练习题

*题目1 四个数字取三位

有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?

列表解析

来自牛逼的山人,这段代码太简单,当然不可能体现他的牛逼。

a = [1,2,3,4]
b = [100*i+10*j+k for i in a for j in a for k in a if i!=j and j!=k and k!=i]

作者的三种解法:

普通列表切片拷贝、嵌套循环方法

i = [1,2,3,4]
for x in i:
    j = i[:]
    j.remove(x)
    for y in j:
        k = j[:] 
        k.remove(y)
        for z in k:
            print(x,y,z) 

字符合并+列表推导式

用 int 函数将字符串转为整数

a = list('1234')
b = [int(i+j+k) for i in a for j in a for k in a if i!=j!=k!=i]

推导式+位运算判断

分析不重复三位数的二进制运算:1^2^3 = 000,1^2^4 = 111,1^3^4 = 110,2^3^4=101
说明1,2,3,4的任意三个互不重复的数逻辑与或的结果为 0,5,6,7,竟然刚好都不在原来的列表范围内,端地是神奇无比!于是 not in 派上用场。

a = [1,2,3,4]
b = [100*i+10*j+k for i in a for j in a for k in a if i^j^k not in a]

*题目2 企业奖金计算

企业发放的奖金根据利润提成。利润(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 = 1
#循环计算奖金总数,当输入值为0或小于0时,计算结束
while i > 0:
    su = 0.0
    i = float(input('输入当月利润(元):'))
    if i > 1e6: su, i = (i - 1e6) * 0.01, 1e6
    if i > 6e5: su, i = su + (i - 6e5) * 0.015, 6e5
    if i > 4e5: su, i = su + (i - 4e5) * 0.03, 4e5
    if i > 2e5: su, i = su + (i - 2e5) * 0.05, 2e5
    if i > 1e5: su, i = su + (i - 1e5) * 0.075, 1e5
    if 0 < i <= 1e5:
        su += i * 0.10
        print('奖金提成总数为: {0:.2f}元'.format(su))
    else:
        print('计算结束')

2018年8月3日 巴基斯坦

Python 练习题是指设计用来提高编程技能和加深对Python语言理解的编程问题。这些练习题通常涉及不同的Python编程概念和技巧,从基础语法到高级主题都有涵盖。以下是一些常见的Python练习题类型: 1. 基础语法练习:这些练习帮助初学者熟悉Python的基本语法,比如变量声明、数据类型、控制结构(if-else语句、循环)以及函数定义等。 2. 数据结构操作:涉及Python内置的数据结构,如列表(list)、字典(dict)、元组(tuple)和集合(set)的操作练习,包括增删改查等。 3. 面向对象编程:包含类和对象的定义、继承、多态和封装等面向对象编程概念的实践题目。 4. 错误和异常处理:学习如何处理在代码执行过程中可能遇到的错误和异常。 5. 文件操作:练习如何在Python中读写文件,包括文本文件和二进制文件的操作。 6. 模块和包:学习如何导入和使用Python标准库中的模块,以及如何创建和使用自定义包。 7. 高级特性:练习Python的高级特性,比如列表推导式、生成器、装饰器和上下文管理器等。 8. 数据处理:包含使用Python进行数据分析和处理的练习,如使用Pandas库操作数据框(DataFrame)。 9. Web开发基础:涉及使用Flask或Django等框架进行简单的Web应用开发。 10. 测试:编写单元测试来验证代码的正确性。 通过解决这些问题,可以系统地提升Python编程技能,并在实际开发中更加得心应手。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yxp_xa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值