栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

学习中的练手代码

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

学习中的练手代码

Python的小游戏小应用 001、输入一个三位数的整数,分别打印出它的个位数、十位数、百位数
number = int(input('请输入一个三位数的整数'))
print('百位数', number // 100)
print('十位数', number // 10 % 10)
print('个位数', number % 10)

#思考:如何写出一个随机几位数的相应标题的拆分数字的代码

002、掷骰子游戏

‘’’
游戏规则:
1.玩游戏要有金币,每局游戏消耗5枚金币;
2.每玩一局游戏赠金币一枚,也可充值获得金币
3.充值金币必须为10元的倍数,每10元可对应充值20枚金币
3.猜大小,随机生成两个1~6的随机数,超过六点认为是大,否则是小。若猜对,则奖励金币2枚,猜错没有奖励
4.游戏结束可以选择主动退出,或者没有金币被动退出
5.退出游戏时要打印剩余金币数和游戏局数
‘’’

'''
游戏规则:
1.玩游戏要有金币,每局游戏消耗5枚金币;
2.每玩一局游戏赠金币一枚,也可充值获得金币
3.充值金币必须为10元的倍数,每10元可对应充值20枚金币
3.猜大小,随机生成两个1~6的随机数,超过六点认为是大,否则是小。若猜对,则奖励金币2枚,猜错没有奖励
4.游戏结束可以选择主动退出,或者没有金币被动退出
5.退出游戏时要打印剩余金币数和游戏局数
'''
import random
coins = 0
count = 0
if coins < 5:
    print('金币不足请充值再玩')
    while True:
        money = int(input('请输入充值金额:'))
        if money % 10 == 0:
            coins += money // 10 * 20
            print('充值成功,当前金币数量为%d个' % coins)
            print('~~~~~~~开启游戏之旅~~~~~~~')
            answer = input('是否现在开启游戏 y/n')
            while coins >= 5 and answer == 'y':
                coins -= 5
                coins += 1
                number_game_1 = random.randint(1, 6)
                number_game_2 = random.randint(1, 6)
                result_player = input('洗牌完毕,请猜测大小')
                if (number_game_1 + number_game_2 > 6 and result_player == '大')
                        or (number_game_1 + number_game_2 <= 6 and result_player == '小'):
                    print('恭喜猜对了,你赢了')
                    coins += 2
                else:
                    print('很遗憾,本次猜错了')
                count+=1
                answer = input('是否继续游戏 y/n')
            print('共玩了%d次,剩余金币数:%d'%(count,coins))
        else:
            print('不是10的倍数,充值失败!')
          

## 003、猜拳游戏

003、猜拳游戏

‘’‘三局两胜,剪刀,石头,布分别代表2,1,0’’’

import random

n = 1
computer = 0
player = 0
while n <= 3:
    random_computer = random.randint(0, 2)
    guess_player = input('剪刀,石头,布分别代表2,1,0 n')
    if random_computer == player:
        print("平局,再来一把")
    if (random_computer == 0 and guess_player == 1) or (random_computer == 1 and guess_player == 2) 
            or (random_computer == 2 and guess_player == 0):
        print("random_computer获胜")
        computer += 1
    else:
        print("guess_player获胜")
        player += 1
    n += 1
if player > computer:
    print("最终guess_player获胜")
else:
    print("最终random_computer获胜")

**

004、批量化格式化文件上传

**

'''模拟文件上传,键盘键入文件的名称(xxx.jpg),判断文件名xxx是否大于6位,扩展名是否为jpggifpng格式
如果不是则提示上传失败,如果名字不满足条件,而扩展名满足条件则随机生成一个6位数字组成的文件名,打印成功上传xxxx.png'''
import random

file = input('请输入图片文件全称:n')
if file.endswith('jpg') or file.endswith('gif') or file.endswith('png'): #判断扩展名
    i = file.rfind('.')
    name = file[:i]
    if len(name) < 6:  # 判断文件的名字
        filename = ''  # 重命名文件的名字
        string = 'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM123456789'
        for m in range(0, 6):
            index = random.randint(0, len(string) - 1)
            filename += string[index]
        file = filename + file[i:]  # 拼接新的文件名此前正确的文件后缀
    print('成功上传%s文件' % file)
else:
    print('文件格式错误,上传失败')
    
005、登录界面设置
'''用户名=admin123  手机号码17937946135  密码200325
可以选择用户名或者手机号+密码登录
第一次验证:格式判断
用户名中字母必须全部小写,首位不能是数字,长度必须6位以上
手机号码是11位的纯数字,密码必须是6位数字
第二次验证:内容判断
判断用户名和密码是否正确,正确则成功,否则登录失败'''

flag = True
while flag:
    name = input('用户名或者手机号码:')
    if (name.islower() and not name[0].isdigit() and len(name) >= 6) or (name.isdigit() and len(name) == 11):
        # 继续输入密码,密码输入错误允许多次输入
        while True:
            password = input('密码')
            # 判断是否为6位数字
            if len(password) == 6 and password.isdigit():
                # 验证用户名和密码的正确性
                if (name == 'admin123' or name == '17937946135') and password == '200325':
                    print('用户登录成功')
                    flag = False
                    break
                else:
                    print('用户名或者密码有误!')
                    break
            else:
                print('密码必须是6位数字')
    else:
        print('用户名或者手机号码格式错误')
006、人员管理系统
'''
人员管理系统
添加员工——>姓名、性别,手机号码
删除员工
修改员工
查询单个员工
显示所有员工
退出系统
'''
import time

all_employee = []
while True:
    print('--------欢迎进入人员管理系统--------')
    choice = input('请选择功能:n 1.添加员工n 2.删除员工n 3.修改员工信息n 4.查询单个员工n 5.显示所有员工n 6.退出系统n')
    if choice == '1':
        print('添加员工模块')
        name = input('t员工姓名')
        sex = input('t员工性别')
        phone_number = input('t员工的联系方式')
        employee = [name, sex, phone_number]
        # 将单个员工信息添加到人员管理系统
        all_employee.append(employee)
        print('t 成功添加%s到人员管理系统!n' % (name))
    elif choice == '2':
        print('删除员工模块')
        employee_name=input('请输入员工名')
        #查询是否存在此员工
        for employee in all_employee:
            if employee_name in employee:
                answer=input('t存在该员工,确认删除?(y/n)')
                if answer=='y':
                    all_employee.remove(employee)
                    print('t成功删除员工:{}'.formate(employee_name))
                    break
            else:
                print('t本系统不存在该员工:{},请检查人员管理系统'.format(employee_name))
    elif choice == '3':
        print('修改员工信息模块')
        employee_name1 = input('请输入员工名')
        # 查询是否存在此人员
        for employee in all_employee:
            if employee_name1 in employee:
                answer1=input('t存在此人员,确认修改该员工信息?(y/n)')
                if answer1=='y':
                    answer2=input('请选择修改信息的内容:1.性别 2.手机号码')
                    if answer2=='2':
                        pass
                    elif answer2=='1':
                        pass
                    else:
                        print('功能选择输入错误,请重新输入!')
            else:
                print('t本系统不存在该员工:{},请检查人员管理系统'.format(employee_name))
    elif choice == '4':
        print('查询单个员工模块')
        #查询是否存在此人员
        for employee in all_employee:
            if employee_name in employee:
                print('t存在此人员,人员信息如下:')
                print('t{}{}{}.format(employee[0].ljust(30),employee[1].ljust(30),employee[2].ljust(30))')
                break
            else:
                print('t本系统不存在该员工:{},请检查人员管理系统'.format(employee_name))
    elif choice == '5':
        print('显示所有员工模块')
        print('{}{}{}'.format('名称'.center(10), '性别'.center(10), '手机号码'.center(10)))
        for employee in all_employee:
            print(employee[0].center(10), end='')
            print(employee[1].center(10), end='')
            print(employee[2].center(10), end='')
            print()
    elif choice == '6':
        print('正在退出人员管理系统~~~')
        time.sleep(10)  # 休眠
        print('成功退出人员管理系统')
        break
    else:
        print('功能选择输入错误,请重新输入!')

007、模拟论坛
'''模拟论坛的信息的部分处理
针对一句话允许不同用户可以发出不同评论,最多允许前3位用户做出评论
回复的内容不能为空
回复内容中不可以包含敏感词汇’血腥‘、’杀戮‘,’性侵犯‘
最多评论20字,回复的内容前后不能有空格'''
message=input('请发表一句话:')
print('-*-'*10)
n=1
print('下面是回复的内容:')
while n<=3:
    #输入用户名
    username=input('请输入用户名:')
    while True:
         #输入回复内容
        comment=input('评论:')
        comment=comment.strip()
        #验证内容
        if len(comment) !=0:
            #验证字符长度是否超出20个字
            if len(comment)<=20:
                #验证是否存在敏感词汇
                comment=comment.replace('血腥','**')
                comment = comment.replace('杀戮', '**')
                comment = comment.replace('性侵犯', '**')
                print('t{}发表的评论是:nt{}'.format(username,comment))
                break
            else:
                print('不能超出20字!')
        else:
            print('评论内容不能为空!')
    #成功则发出评论,否则重新输入
    n+=1
    pass
print('本句话评论已满,暂时不可被评论!')
008、超市结账系统部分模拟
'''买多件商品,每种商品都包含商品名称、商品价格、商品数量三条信息
使用列表的嵌套解决问题'''
container=[]
flag=True
while flag:
    #添加商品
    name=input('商品名称:')
    price=input('商品价格:')
    number=input('商品数量:')
    goods=[name,price,number]
    #将商品添加到container
    container.append(goods)
    answer=input('是否继续添加?(y/n)')
    if answer.lower()=='n':
        flag=False
print(container)

print('-*-'*10)
#遍历container
print('名称tt价格tt数量')
for goods in container:
    print('{}t{}t{}'.format(goods[0],float(goods[1]),int(goods[2])))
009、自动排序和手动排序问题
# 手动实现冒泡排序(从小到大)
number = [9, 5, 1, 4, 6, 7, 2, 3, 8]
for j in range(0, len(number) - 1):
    for i in range(0, len(number) - 1 - j):
        if number[i] > number[i + 1]:
            a = number[i]
            number[i] = number[i + 1]
            number[i + 1] = a
print(number)#[1, 2, 3, 4, 5, 6, 7, 8, 9]
# 自动排序
number = [9, 5, 1, 4, 6, 7, 2, 3, 8]
number.sort()
print(number)

# 交换变量的值——>利用Python的特点
x = 10
y = 88
x, y == y, x
print('方法一变化',x,y)#方法一变化 10 88
# 通用方法,利用中间变量
x = 10
y = 88
print('方法二变化之前',x,y)#方法二变化之前 10 88
temp = x
x = y
y = temp
print('方法二变化之后',x,y)#方法二变化之后 88 10
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/738675.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号