python练习

本文是一份为期四周的Python编程练习计划,涵盖基础语法、数据结构、函数、面向对象等多个方面。通过21道题目,逐步提升编程能力,适合初学者和进阶者巩固Python知识。
摘要由CSDN通过智能技术生成

目录

目录

第一周:

题目1:

题目2:

题目3:

题目4:

题目5:

第二周:

题目6:

题目7:

题目8:

题目9:

题目10:

题目11:

题目12:

题目13:

第三周:

题目14:

题目15:

题目16:

题目17:

题目18:

题目19:

题目20:

题目21:

第四周:

题目22:


第一周:

题目1:

题目2:

题目3:

题目4:

题目5:

第二周:

题目6:

题目7:

题目8:

题目9:

题目10:

题目11:

题目12:

题目13:

第三周:

题目14:

题目15:

题目16:

题目17:

题目18:

题目19:

题目20:

题目21:

第四周:

题目22:


第一周:

题目1:

小欧拿一百块钱,一只公鸡5块钱,一只母鸡3块钱,三只小鸡1元钱。买一百只,问公鸡、母鸡、小鸡各多少只,请用列表推导式解决!

思路:买一百只鸡,即公鸡,母鸡,小鸡的总数为100只;一百块钱,即公鸡,母鸡,小鸡花的钱总数为100。

代码实现:

for a in range(0, 101):
    for b in range(0, 101):
        for c in range(0, 101):
            if 5 * a + 3 * b + c == 100:
                if a + b + 3*c == 100:
                    print("公鸡有%d只,母鸡有%d只,小鸡有%d只" % (a, b, 3*c))
                else:
                    pass
            else:
                pass

运行结果如下图:

题目2:

有如下值集合[11,22,33,44,55,66,77,88,99,90], 将所有大于66的值保存至字典的第一个key中,将小于66值保存至第二个key的值中。

如下图所示:

思路:创建两个空的数组,用if语句将大于66的存入第一个数组内,剩下的放入第二个数组,然后再将他们存入字典中。

代码实现:

a = [11, 22, 33, 44, 55, 66, 77, 88, 99, 90]
b = []
c = []
for d in a:
    if d < 66:
        b.append(d)
    elif d > 66:
        c.append(d)
    else:
        pass
e = {'k1': b, 'k2': c}
print(e)

运行结果如下图:

题目3:

使用lambda函数对1~1000进行求和

思路:用lambda表达式求1~1000的和,即使用等差数列前n项和的表达式,然后将首项尾项公差写入即可。

代码实现:

c = lambda a1, an, n: n*(a1+an)/2
print(c(1, 1000, 1000))

c中的参数即对应lambda表达式里面的未知数。

运行结果如下图:

题目4:

请你把下图的抽奖过程用程序实现并且封装成一个的函数。

思路:

首先使用time模块实现延迟输出,即在开头输入import time,最后在要延迟输出的语句后输入time.sleep(1),即延迟1秒输出。最后到抽奖环节,抽奖就要用到random模块创建随机函数,即在开头输入import random,random.randrange(0, 10)即随机输出0到9的数,不包括10 。

代码实现:

mport time
import random

a = input("请输入你的简称")
print("开奖倒计时3")
time.sleep(1)
print("开奖倒计时2")
time.sleep(1)
print("开奖倒计时1")
time.sleep(1)
print("       __\n     >(’ )\n       )/\n      /( \n     /  `----/ \n     \  ~=- /\n   ~^~^~^~^~^~^~^")
time.sleep(1)
b = random.randrange(0, 10000000000000000000000000000)
if b == 0:
    print("很遗憾,你没中奖。")
else:
    print("恭喜%s中奖!" % a)

运行结果如下图:

题目5:

和电脑玩一个剪刀石头布的游戏:电脑随机出拳,我们可选择出什么。(电脑随机出、用户手动输入且要判断输入是否合法)封装为一个函数

思路:随机出拳,可以把0代表石头,1代表剪刀,2代表布,然后机器人在0到2之间随机出一个数。

代码实现:

import random
a = input("请出拳:(石头、剪刀、布)")
b = random.randrange(0, 3)
if a == "剪刀" or a == "石头" or a == "布":
    print("----战斗过程----")
    if b == 0:
        print("电脑出了:石头")
    elif b == 1:
        print("电脑出了:剪刀")
    elif b == 2:
        print("电脑出了:布")
    print("你出了:", a)
    # 0是石头,1是剪刀,2是布。
    print("----结果----")
    if a == "石头" and b == 0:
        print("平局!")
    elif a == "石头" and b == 1:
        print("你赢了!")
    elif a == "石头" and b == 2:
        print("你输了!")
    elif a == "剪刀" and b == 0:
        print("你输了!")
    elif a == "剪刀" and b == 1:
        print("平局!")
    elif a == "剪刀" and b == 2:
        print("你赢了!")
    elif a == "布" and b == 0:
        print("你赢了!")
    elif a == "布" and b == 1:
        print("你输了!")
    elif a == "布" and b == 2:
        print("平局!")
else:
    print("请输入正确的字")

运行结果如下图:

第二周:

题目6:

小明、小红、小刚是同班同学,且坐在同一排,分别坐在第一位、第二位、第三位。
由于他们的身高都差不多,所以,老师计划让他们三个轮流坐在第一位。
每次换座位的时候,第一位变第三位,后面两位都往前一位

思路:每次换位置的时候将第一位的变成第三位。

代码实现:

a = ["小明", "小红", "小刚"]
i = 1
for i in range(0, 1000000):
    i += 1
    [a[0], a[1], a[2]] = [a[1], a[2], a[0]]
    print(a)
    input("按回车键继续:")

运行结果如下图:

题目7:

i.系统里面有多个用户,用户的信息目前保存在列表里面账号密码一一对应

    users = ['root','westos']

    passwd = ['123','456']

ii.用户登陆(判断用户登陆是否成功)

    1).判断用户是否存在

    2).如果存在

        1).判断用户密码是否正确

        如果正确,登陆成功,推出循环

        如果密码不正确,重新登陆,总共有三次机会登陆

    3).如果用户不存在

重新登陆,总共有三次机会

思路:

账号密码一一对应,即可用if语句判断输入的账号是否对应所属的密码,每次都会用掉一次机会。

代码实现如下:

users = ['root', 'westos']
passwd = ['123', '456']
i = 1
while i < 4:
    a = input("请输入您的账号:")
    if a == users[0]:
        b = input("请输入您的密码:")
        if b == passwd[0]:
            print("登录成功!")
            break
        else:
            i += 1
    elif a == users[1]:
        b = input("请输入您的密码:")
        if b == passwd[1]:
            print("登录成功!")
            break
        else:
            i += 1
    else:
        i += 1

运行结果如下图:</

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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编程技能,并在实际开发中更加得心应手。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值