2024-06-12
Python
00

目录

实操案例一
实操案例二
实操案例三
实操案例四
实操案例五
实操案例六
实操案例七
实操案例八
实操案例九
实操案例十
实操案例十一
实操案例十二
实操案例十三
实操案例十四
实操案例十五

实操案例一

  • 任务1: 像文件输出’奋斗成就更好的你‘

    python
    # 第一种方式,使用print方式进行输出(输出的目的地址是文件) fp = open('D:/test.txt', 'w') print('奋斗成就更好的你', file=fp) fp.close() # 第二种方式,使用文件读写操作 with open('D:/test1.txt', 'w') as file: file.write('奋斗成就更好的你')
  • 任务2: 输出北京天气预报

    python
    # 输出北京的天气预报 print('星期日', '今天') print('--------------------------------') print('08时\t', '11时\t', '14时\t', '17时\t', '20时\t', '23时\t') print('5℃\t\t', '6℃\t', '12℃\t', '8℃\t', '4℃\t', '3℃\t') print('--------------------------------') print('明 天 ', '3/12 ', '3℃/14℃') print('星期一 ', '3/13 ', '0℃/12℃') print('星期二 ', '3/14 ', '-2℃/8℃') print('星期三 ', '3/15 ', '1℃/9℃') print('星期四 ', '3/16 ', '4℃/11℃') print('星期五 ', '3/17 ', '6℃/14℃')
  • 任务3: 机票购买界面

    python
    # 机票购买界面 print('✈国内\t✈国际/港澳台\t↘发现低价') print('-------------------------------') print('航班类型: ⊙单程\t⊙往返\t多程(含缺口程)') print('出发城市:北京') print('到大城市:上海') print('出发日期:2024-3-16') print('返回日期:yyyy-MM-dd') print('-------------------------------') print('\t\t□带儿童\t□带婴儿') print('\t\t _________') print('\t\t |__搜索__|')
  • 任务4: 北京地铁1号线运行图

    python
    # 北京地铁1号线运行图 print('地铁1\t\t\t四惠东→苹果园') print('\t\t首车: 05:05') print('\t\t末车: 23:30\t\t票价:起步价:2元') print('-----------------------------------------------------------------------') print('\t1\t\t 3\t\t 5\t\t 7\t\t 9\t\t 11\t\t 12\t\t 14\t\t 16\t\t 18\t\t 20') print('\t⇄\t\t ⇄\t\t ⇄\t\t ⇄\t\t ⇄\t\t ⇄\t\t ⇄\t\t ⇄\t\t ⇄\t\t ⇄\t\t ⇄') print(' 四惠东\t\t大望路\t永安里\t东单\t\t天安门东\t西单\t\t复兴门\t木樨地\t公主坟\t五棵松\t八宝山')

实操案例二

  • 任务1: 输出杨老师出版的图书信息

    python
    book_name = 'Java程序设计教程' publish = '西安电子科技大学出版社' pub_date = '2019-02-02' price = 56.8 print('▶--------------------------------------------◀') print('▷\t\t《', book_name, '》\t\t◁') print('▷\t出版社:', publish, '\t◁') print('▷\t出版时间:', pub_date, '\t\t◁') print('▷\t定 价:', price, '\t\t\t\t◁') print('▶--------------------------------------------◀')
  • 任务2: 输出《红楼梦》中的金陵十二钗前五位

    python
    # 第一种方式 变量的赋值 name1 = '林黛玉' name2 = '薛宝钗' name3 = '贾元春' name4 = '贾探春' name5 = '史湘云' print('❶\t' + name1) print('❷\t' + name2) print('❸\t' + name3) print('❹\t' + name4) print('❺\t' + name5) #第二种方式 列表 lst_name = ['林黛玉','薛宝钗','贾元春','贾探春','史湘云'] print('--------------------------------------') lst_sig = ['❶', '❷', '❸', '❹', '❺'] for i in range(5): print(lst_sig[i], lst_name[i]) # 第三种方式 字典 d = {'❶':'林黛玉', '❷':'薛宝钗', '❸':'贾元春', '❹':'贾探春', '❺':'史湘云'} print('--------------------------------------') for key in d: print(key,d[key]) # zip方式 print('zip方式----------------------------------') for s,name in zip(lst_sig,lst_name): print(s,name)
  • 任务3: 输出图书音像勋章

    python
    # 输出图书音像勋章,输出结果自定义颜色 print('\033[0;35m\t\t图书音像勋章\033[m') print('\033[0;35m\t\t-----------------------------\033[m') print('\033[0;32m\t\t❀图书音像勋章\t\t✪专享活动\033[m') print('\033[0;34m\t\t❤专属优惠\t\t☎优惠提醒\033[m') print('\033[0;35m\t\t-----------------------------\033[m')
  • 任务4: 输出你的身体指标

    python
    # 输出你的身体指标 height = 170 weight = 50.5 bmi = weight/(height+weight) print('您的身高是:' + str(height)) print('您的体重是:' + str(weight)) print('您的BMI的指数是:{:0.2f}'.format(bmi))

实操案例三

  • 任务1: 将指定的十进制数转换成二进制、八进制、十六进制

    python
    # 将指定的十进制数转换成二进制、八进制、十六进制 def fun(): num = int(input('请输入一个十进制的整数')) # 将str类型转为int类型 print(num,'的二进制数为:', bin(num)) # 第一种写法 使用个数可变的位置参数 print(str(num) + '的二进制数为:' + bin(num)) # 第二种写法 使用“+”作为连接符 (+的左右均为str类型) print('%s的二进制数为:%s' % (num,bin(num))) # 第三种写法 格式化字符串 print('{0}的二进制数为:{1}'.format(num,bin(num))) # 第三种写法 格式化字符串 print(f'{num}的二进制数为:{bin(num)}') # 第三种写法 格式化字符串 print('---------------------------------------') print(f'{num}的八进制为:{oct(num)}') print(f'{num}的十六进制为:{hex(num)}') if __name__ == '__main__': while True: try: fun() break except: print('只能输入整数!程序出错,请重新输入')
  • 任务2: 为自己手机充值

    python
    # 为自己手机充值 print('用户手机账户原有花费金额为:\033[0;35m8元\033[m') money = int(input('请输入用户充值金额:')) money+=8 print('当前的余额为:\033[0;35m', money, '元\033[m')
  • 任务3: 计算能量的消耗

    python
    # 计算能量的消耗 num = int(input('请输入您当天行走的步数')) calorie = num*28 print(f'今天消耗了卡路里{calorie},即{calorie/1000}千卡')
  • 任务4: 预测未来子女的身高

    python
    # 预测未来子女的身高 father_height = float(input('请输入父亲的身高:')) mother_height = float(input('请输入母亲的身高:')) son_height = (father_height+mother_height)*0.54 print('预测子女的身高为:{}cm'.format(son_height))

实操案例四

  • 任务1: 支付密码的验证

    python
    # 支付密码的验证 pwd=input('支付宝支付密码') if pwd.isdigit(): print('支付数据合法') else: print('支付数字不合法,支付密码只能是数字') print('------------------------------------') print('支付数字合法' if pwd.isdigit() else '支付数字不合法,支付密码只能是数字')
  • 任务2: 模拟QQ账号登陆

    python
    # 模拟QQ账号登录 qq = input('请输入QQ号:') pwd = input('请输入密码:') if qq == '123456' and pwd == '123': print('登录成功') else: print('对不起,账号或密码不正确')
  • 任务3: 商品价格大竞猜

    python
    # 商品价格大竞猜 import random price = random.randint(1000,1500) print('今日竞猜的商品为小米扫地机器人: 价格在[1000-1500]之间') guess = int(input()) if guess > price: print('大了') elif guess < price: print('小了') else: print('猜对了') print('真实价格为:', price)
  • 任务4: 根据星座查看运势

    python
    # 商品价格大竞猜 d = { '白羊座': '今天是你大展拳脚的好日子,勇往直前,一切顺利!', '金牛座': '今天的财运看好,但要小心花钱过度。', '双子座': '今天有很多机会可以与朋友互动,但要小心口舌是非。', '巨蟹座': '今天可能会感到情绪低落,多和家人朋友沟通可以缓解。', '狮子座': '今天你会收获很多赞美和认可,但别忘了与他人分享成功的喜悦。', '处女座': '今天的工作可能会有些忙碌,但你的努力会得到回报。', '天秤座': '今天的心情可能会有些起伏,但保持乐观态度会有助于度过难关。', '天蝎座': '今天你可能会面临一些挑战,但保持冷静和坚定会帮助你克服困难。', '射手座': '今天适合出行旅游或者尝试新鲜事物,会有意想不到的收获。', '摩羯座': '今天的健康运势较好,但要注意饮食和作息规律。', '水瓶座': '今天的人际关系可能会出现一些波动,但保持真诚和沟通会有助于解决问题。', '双鱼座': '今天你可能会感到有些迷茫,但不要害怕向他人求助,困难总会过去的。' } star = input('请输入您的星座查看近来运势') print(d.get(star))

实操案例五

  • 任务1: 循环输出26个字母对应的ASCII码值

    python
    # 循环输出26个字母对应的ASCII码值 x = 97 # 代表的是a的ASCII值 for _ in range(1,27): print(chr(x), '--->', x) x+=1 print('------------------------------') x = 97 # 第二种方式 while x<=97+25: print(chr(x), '--->', x) x+=1
  • 任务2: 模拟用户登录

    python
    # 模拟用户登录 for i in range(1,4): user_name = input('请输入用户名:') user_pwd = input('请输入密码:') if user_name == 'admin' and user_pwd == '8888': print('登录成功') break else: print('用户名或密码不正确!!!') if i<3: print(f'您还有{3-i}次机会!!!') else: print('对不起,三次均输入错误,请联系后台管理员')
  • 任务3: 猜数字游戏

    python
    # 猜数字游戏 import random rand = random.randint(1,100) for i in range(1,11): num = int(input('在我心中有个数1-100,请你猜一猜')) if num < rand: print('小了') elif num > rand: print('大了') else: print('恭喜你猜对了') break print(f'您一共猜了{i}次') if i < 3: print('真聪明') elif i <= 7: print('还凑合') else: print('天哪,找老师学习折半算法!!!')
  • 任务4: 计算100-999之间的水仙花数

    python
    # 计算100-999之间的水仙花数 import math for i in range(100,1000): if math.pow((i%10),3)+ math.pow((i//10%10),3) + math.pow(i//100,3) == i: print(i)

实操案例六

  • 任务1: 千年虫 我来了

    python
    # 千年虫 我来了 year = [88,82,98,79,00,93] print('原列表', year) for index,value in enumerate(year): if str(value) != '0': year[index] = int('19' + str(value)) else: year[index] = int('200' + str(value)) print('修改之后的列表:', year) year.sort() print('排序之后的列表为:', year)
  • 任务2: 京东购物流程

    python
    # 京东购物流程 lst = [] for i in range(0,5): goods = input('请输入商品编号和商品名称进行商品的入库,每次只能输入一个商品\n') lst.append(goods) for item in lst: print(item) cart = [] while True: num = input('请输入要购买的商品编号(输入q退出):') for item in lst: if item.find(num) != -1: cart.append(item) break if num == 'q': break print('您购物车里已经选好的商品为:') """for m in cart: print(m)""" for i in range(len(cart)-1,-1,-1): print(cart[i])

实操案例七

  • 任务1: 根据星座测试性格特点

    python
    # 根据星座测试性格特点 # 创建星座的列表 constellation = ['白羊座', '金牛座', '双子座', '巨蟹座', '狮子座', '处女座', '天秤座', '天蝎座', '射手座', '魔羯座', '水瓶座', '双鱼座'] # 创建性格列表 nature = ['积极乐观', '固执内向', '圆滑世故', '多愁善感', '迷之自信', '精明计较', '犹豫不决', '阴暗消极', '放荡不羁', '务实本分', '作天作地', '安于现状'] # 将两个列表转成集合 d = dict(zip(constellation,nature)) '''for item in d: print(item, d[item])''' key = input('请输入您的星座名称:') flag = True for item in d: if key == item: flag = True print(key,'的性格特点为:', d.get(key)) break else: flag = False if not flag: print('对不起,您输入的星座有误')
  • 任务2: 模拟12306火车票订单下单

    python
    # 模拟12306火车票订单下单 dict_ticket = { 'G1569': ['北京南-天津南', '18:05', '18:39', '00:34'], 'G1567': ['北京南-天津南', '18:15', '18:49', '00:34'], 'G8917': ['北京南-天津西', '18:20', '19:19', '00:59'], 'G203': ['北京南-天津南', '18:35', '19:09', '00:34'], } print('车次\t\t出发站-到达站\t\t出发时间\t\t到达时间\t\t历时时常') for item in dict_ticket: print(item, end='\t') for i in dict_ticket[item]: print(i, end='\t\t') print() # 换行 # 请输入要购买的车次 train_no = input('请输入要购买的车次:') persons = input('请输入乘车人,如果是多人请使用逗号分隔') s = f'您已购买了{train_no}次列车\t' s_info = dict_ticket[train_no] # 获取车次详细信息 s += s_info[0] + '\t' + s_info[1] + ' 开\t' print(f'{s}{persons}尽快取走纸质车票。【铁路客服】')

实操案例八

  • 任务1: 我的咖啡馆你做主

    python
    # 我的咖啡馆你做主 coffee_name = ('蓝山', '卡布奇诺', '拿铁', '皇家咖啡', '女王咖啡', '美丽与哀愁') print('您好!欢迎光临小喵咖啡屋') print('本店经营的咖啡有:') for index, item in enumerate(coffee_name): print(index+1, '.', item, end='\t') index = int(input('\n请输入您喜欢的咖啡编号:')) if 0 <= index <= len(coffee_name): print(f'您的咖啡[{coffee_name[index-1]}]好了,请您慢用')
  • 任务2: 显示2019中超联赛前5名排行

    python
    # 显示2019中超联赛前5名排行 scores = (('广州恒大', 72), ('北京国安', 70), ('上海上港', 66), ('江苏苏宁', 53), ('山东鲁能', 51)) for index, item in enumerate(scores): print(index+1, '.', end='\t') for score in item: print(score, end='\t') print()
  • 任务3: 模拟手机通讯录

    python
    # 模拟手机通讯录 phones = set() for i in range(5): info = input(f'请输入第{i+1}个朋友的姓名和手机号码:') phones.add(info) for item in phones: # 遍历通讯录 print(item)

实操案例九

  • 任务1: 统计字符串中出现指定字符的次数

    python
    def get_count(s, ch): count = 0 for item in s: if ch.upper() == item or ch.lower() == item: count += 1 return count if __name__ == '__main__': s = 'hellopython,hellojava,hellogo' ch = input('请输入要统计的字符') count = get_count(s, ch) print(f'{ch}{s}中出现的次数为:{count}')
  • 任务2: 格式化输出商品的名称和单价

    python
    # 格式化输出商品的名称和单价 def show(lst): for item in lst: for i in item: print(i, end='\t\t') print() lst = [ ['01', '电风扇', '美的', 500], ['02', '洗衣机', 'TCL', 500], ['03', '微波炉', '老板', 500] ] print('编号\t\t名称\t\t\t品牌\t\t单价') show(lst) print('------------格式化---------------') print('编号\t\t\t名称\t\t\t品牌\t\t单价') for item in lst: item[0] = '0000' + item[0] item[3] = '¥{:.2f}'.format(item[3]) show(lst)

实操案例十

  • 任务1: mini计算器

    python
    # mini计算器 def calc(a, b, op): if op == '+': return add(a, b) elif op == '-': return sub(a, b) elif op == '*': return mul(a, b) elif op == '/': if b != 0: return div(a, b) else: return '除数不能为0' def add(a, b): return a+b def sub(a, b): return a-b def mul(a, b): return a*b def div(a, b): return a/b if __name__ == '__main__': a = int(input('请输入第一个整数:')) b = int(input('请输入第二个整数:')) op = input('请输入运算符:') print(calc(a, b, op))
  • 任务2: 猜数游戏

    python
    # 猜数游戏 import random def guess(num, guess_num): if num == guess_num: return 0 elif guess_num > num: return 1 else: return -1 num = random.randint(1, 100) for i in range(10): guess_num = int(input('我心里有个[1-100]的整数,请你猜一猜:')) result = guess(num, guess_num) if result == 0: print('猜对了') break elif result > 0: print('大了') else: print('小了') else: print('真笨,10次都没猜中')

实操案例十一

  • 任务1: 编写程序输入学员成绩

    python
    # 编写程序输入学员成绩 try: score = int(input('请输入分数:')) if 0 <= score <= 100: print('分数为:', score) else: raise Exception('分数不正确') # 手动抛出异常 except Exception as e: print(e)
  • 任务2: 编写程序,判断三个参数能否构成三角形

    python
    # 判断三个参数能否构成三角形 def is_triangle(a, b, c): if a < 0 or b < 0 or c < 0: raise Exception('三条边不能是负数') if a + b > c and b + c > a and a + c > b: print(f'三角形的边长为a={a}, b={b}, c={c}') else: raise Exception(f'a={a}, b={b}, c={c}, 不能构成三角形') if __name__ == '__main__': try: a = int(input('请输入第一条边')) b = int(input('请输入第二条边')) c = int(input('请输入第三条边')) is_triangle(a, b, c) except Exception as e: print(e)

实操案例十二

  • 任务1: 定义一个圆的类计算面积和周长

    python
    # 计算面积和周长 import math class Circle(object): def __init__(self, r): self.r=r def get_area(self): return math.pi*math.pow(self.r, 2) # 圆的面积 def get_perimeter(self): # 圆的周长 return 2*math.pi*self.r if __name__ == '__main__': r = int(input('请输入圆的半径:')) c = Circle(r) print(f'圆的面积为:{c.get_area()}') print(f'圆的周长为:{c.get_perimeter()}') print('圆的面积为:{:.2f}'.format(c.get_area())) # 输出结果保留2位小数 print('圆的面积为:{:.2f}'.format(c.get_perimeter()))
  • 任务2: 定义学生类录入5个学生信息存储到列表中

    python
    class Student(object): def __init__(self, stu_name, stu_age, stu_gender, stu_score): self.stu_name = stu_name self.stu_age = stu_age self.stu_gender = stu_gender self.stu_score = stu_score def show(self): print(self.stu_name, self.stu_age, self.stu_gender, self.stu_score) if __name__ == '__main__': print('请输入五位学员的信息:(姓名#年龄#性别#成绩)') lst = [] for i in range(0,5): s = input(f'请输入第{i+1}位学员的信息和成绩:') s_lst = s.split('#') stu = Student(s_lst[0], int(s_lst[1]), s_lst[2], float(s_lst[3])) # 创建学生对象 lst.append(stu) for item in lst: item.show()

实操案例十三

  • 任务1: 编写程序实现乐手弹奏乐器。乐手可以弹奏不同的乐器从而发出不同的声音。可以弹奏的乐器包括二胡、钢琴和琵琶。

    python
    class Instrument(): def make_sound(self): pass class Erhu(Instrument): def make_sound(self): print('二胡在演奏') class Pinao(Instrument): def make_sound(self): print('钢琴在演奏') class Violin(Instrument): def make_sound(self): print('小提琴在演奏') # 演奏的函数 def play(instrument): instrument.make_sound() class Bird(): def make_sound(self): print('小鸟在唱歌') if __name__ == '__main__': play(Erhu()) play(Pinao()) play(Violin()) play(Bird())
  • 任务2: 请使用面向对象的思想,设计自定义类,描述出租车和家用轿车的信息。

    python
    class Car(object): def __init__(self, type, no): self.type = type self.no = no def start(self): pass def stop(self): pass class Taxi(Car): def __init__(self, type, no, company): super().__init__(type, no) self.company = company def start(self): print('乘客您好!') print(f'我是{self.company}出租车公司的,我的车牌是{self.no},请问你要去哪里?') def stop(self): print('目的地到了,请您付款下车,欢迎再次乘坐') class FamilyCar(Car): def __init__(self, type, no, name): super().__init__(type, no) self.name = name def stop(self): print('目的地到了,我们去玩吧') def start(self): print(f'我是{self.name},我的汽车我做主') if __name__ == '__main__': taxi = Taxi('上海大众', '京A9765', '长城') taxi.start() taxi.stop() print('-'*30) familycar = FamilyCar('广汽丰田', '京B88888', '武大郎') familycar.start() familycar.stop()

实操案例十四

  • 任务1: 模拟高铁售票系统

    python
    import prettytable as pt # 显示坐席 def show_ticket(row_num): tb = pt.PrettyTable() tb.field_names = ['行号', '座位1', '座位2', '座位3', '座位4', '座位5'] for i in range(row_num): lst = [f'第{i+1}行', '有票', '有票', '有票', '有票', '有票'] tb.add_row(lst) print(tb) # 订票 def order_ticket(row_num, row, column): tb = pt.PrettyTable() tb.field_names = ['行号', '座位1', '座位2', '座位3', '座位4', '座位5'] for i in range(row_num): if int(row) == i+1: lst = [f'第{i + 1}行', '有票', '有票', '有票', '有票', '有票'] lst[int(column)] = '已售' tb.add_row(lst) else: lst = [f'第{i + 1}行', '有票', '有票', '有票', '有票', '有票'] tb.add_row(lst) print(tb) if __name__ == '__main__': row_num = 13 show_ticket(row_num) choose_num = input('请输入选择的座位,如13,5表示13排5号座位') try: row, column = choose_num.split(',') except: print('输入的格式有误,如13排5号,应该输入13,5') # order_ticket(row_num, row, column) order_ticket(row_num, row, column)
  • 任务2: 推算几天后的日期

    python
    import datetime def inputdate(): indate = input('请输入开始日期:(20200808)后按回车:') indate = indate.strip() datestr = indate[0:4] + '-' + indate[4:6] + '-' + indate[6:] return datetime.datetime.strptime(datestr, '%Y-%m-%d') if __name__ == '__main__': print('---------------推算几天后的日期---------------') sdate = inputdate() in_num = int(input('请输入间隔天数:')) fdate = sdate + datetime.timedelta(days=in_num) print('您推算的日期是:' + str(fdate).split(' ')[0])

实操案例十五

  • 任务1: 记录用户登录日志

    python
    import time def show_info(): print('输入提示数字,执行相应操作: 0.退出 1.查看登录日志') # 记录日志 def write_logininfo(username): with open('log.txt', 'a') as file: s = f'用户名{username},登录时间:{time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time()))}' file.write(s) file.write('\n') def read_logininfo(): with open('log.txt', 'r') as file: while True: line = file.readline() if line == '': break else: print(line, end='') if __name__ == '__main__': username = input('请输入用户名:') pwd = input('请输入密码:') if 'admin' == username and 'admin' == pwd: print('登录成功!!!') write_logininfo(username) # 记录日志 show_info() # 提示用户执行什么操作 num = int(input('请输入操作数字')) while True: if num == 0: print('退出成功') break elif num == 1: print('查看登录日志') read_logininfo() # 读取日期 num = int(input('请输入操作数字:')) else: print('您输入的数字有误!!!') show_info() num = int(input('请输入操作数字:')) else: print('对不起,用户名或密码不正确!!!') '''print(time.time()) # 秒 print(time.localtime(time.time())) # 将秒转换成 年月日时分秒 print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))'''
  • 任务2: 模拟淘宝客服自动回复

    reply.txt 文件,自动回复相关话术

    reply.txt
    订单|如果您有任何订单问题,可以登录淘宝账号,点击“我的订单”,查看订单详情 物流|如果您有任何物流问题,可以登录淘宝账号,点击“我的订单”,查看商品物流 账户|如果您有任何账户问题,可以联系淘宝客服,电话: 010-xxxxxxx 支付|如果您有任何支付问题,可以登录联系支付宝客服,QQ: XXXXXXXX
    python
    def find_answer(question): with open('reply.txt', 'r') as file: while True: line = file.readline() if not line: # if line == '' 到文件末尾退出 break # 字符串的分割 keyword = line.split('|')[0] reply = line.split('|')[1] if keyword in question: return reply return False if __name__ == '__main__': question = input('您好,小蜜在此等主人很久了,有什么烦恼快和小蜜说吧') while True: if question == 'bye': break # 开始在文件中查找 reply = find_answer(question) if not reply: # 如果回复的是 False,not False --> True question = input('小蜜不知道你在说什么,您可以问一些关于订单、物流、账户、支付等问题(退出请输入bye)') else: print(reply) question = input('小主,您还可以继续问一些关于订单、物流、账户、支付等问题(退出请输入bye)') print('小主再见')

本文作者:柯南

本文链接:

版权声明:©2024 柯南 All rights reserved.