【第五章】零基础学Python实战练习(明日科技书配套)

  • 实战一:
    • 代码:
    • 输出:
  • 实战二:
    • 代码:
    • 输出:
  • 实战三:
    • 代码:
    • 输出:
  • 实战四:
    • 代码:
    • 输出:
    • 优化一下代码,让输出对齐:
    • 新输出

实战一:

代码:

# 定义详情口诀字符
str1='马走日'
str2='象走田'
str3='车走直路炮翻山'
str4='士走斜线护将边'
str5='小卒一去不回还'
# 输出提示信息
print('象棋口诀:')
# 输出象棋口诀字符并在末尾添加逗号
print(str1,',')
print(str2,',')
print(str3,',')
print(str4,',')
# 输出象棋口诀字符并在末尾添加句号
print(str5,'。')

输出:

象棋口诀:
马走日 ,
象走田 ,
车走直路炮翻山 ,
士走斜线护将边 ,
小卒一去不回还 。

实战二:

代码:

# 定义车牌库
carNum = ["津A·12345", "沪A·23456", "京A·34567"]
# 输出第几张车牌
for i in range(len(carNum)):
# 输出第几个车牌print("第" + str(i + 1) + "张车牌号码:")
# 输出车牌号print(carNum[i])
# 提取字符串的第0个字符判断归属地if carNum[i][0] == "津":print("这张号牌的归属地:" + "天津")if carNum[i][0] == "沪":print("这张号牌的归属地:" + "上海")if carNum[i][0] == "京":print("这张号牌的归属地:" + "北京")

输出:

第1张车牌号码:
津A·12345
这张号牌的归属地:天津
第2张车牌号码:
沪A·23456
这张号牌的归属地:上海
第3张车牌号码:
京A·34567
这张号牌的归属地:北京

实战三:

模拟微信抢红包(提示:本例实现时需要应用生成随机数的random模块和支持十进制浮点数运算的decimal模块),效果如图5.28所示。

代码:

import random
from decimal import Decimal
# 起个头
print("-------------模拟微信抢红包-----------")
# 提示用户输入要发的红包总额
total = input("请输入要装入红包的总金额(元):")
num = input("请输入红包的个数(个):")
min = 0.01  # 没人最少能领0.01元
# 创建红包列表
money_list = []
# 用Decimal()方法转换红包金额为精确的十进制数,防止出现计算错误
total = Decimal(total)
# 转换红包个数
num = Decimal(num)
# 转换最小红包金额,因为min是一个float型,需要先转成字符型才能用Decimal()
min = Decimal(str(min))
# 确保每人都能分到  可分的红包金额>红包数*每人最好红包金额0.01
if total > num * min:# 根据红包个数进行循环 从1开始,随机出来足够的金额,每次循环减少1个红包for i in range(1, int(num)):# 根据循环到的红包个数判断随机安全上限,不至于有人不够0.01元safe_total = (total - (num - i) * min)temp_min = min * 100  # 变成整数  随机最小值temp_max = int(safe_total * 100)  # 随机最大值# 产生随机的金额rand_money = Decimal(random.randint(temp_min, temp_max))if temp_min < temp_max:money = rand_money / 100else:money = temp_min / 100# 重置剩余总金额total -= money# 添加随机到的金额到红包列表money_list.append(money)# 循环完成因为是从1开始到红包数的最大值,不包括最大值,所以少一个红包,将最后剩余的金额添加到红包数组,补齐红包总数money_list.append(money)# 随机排列红包列表random.shuffle(money_list)# 遍历随机后的红包列表输出结果for i in range(len(money_list)):print("第"+str(i+1)+"个红包:"+str(money_list[i])+"元")

输出:

-------------模拟微信抢红包-----------
请输入要装入红包的总金额(元):500
请输入红包的个数(个):5
第1个红包:0.14元
第2个红包:0.14元
第3个红包:154.11元
第4个红包:2.82元
第5个红包:342.46元

实战四:

代码:

weathers = [("2018年4月17日", "天气预报:", "晴", "20℃~7℃", "微风转西风3~4级"),("08:00", "天气预报:", "晴", "13℃", "微风"),("12:00", "天气预报:", "晴", "19℃", "微风"),("16:00", "天气预报:", "晴", "18℃", "西风3~4级"),("20:00", "天气预报:", "晴", "15℃", "西风3~4级"),("00:00", "天气预报:", "晴", "12℃", "微风"),("04:00", "天气预报:", "晴", "9℃", "微风")]for weather in weathers:print('{}      {}{}   {}   {}'.format(weather[0], weather[1], weather[2], weather[3], weather[4]))

输出:

2018年4月17日      天气预报:晴   20℃~7℃   微风转西风3~4级
08:00      天气预报:晴   13℃   微风
12:00      天气预报:晴   19℃   微风
16:00      天气预报:晴   18℃   西风3~4级
20:00      天气预报:晴   15℃   西风3~4级
00:00      天气预报:晴   12℃   微风
04:00      天气预报:晴   9℃   微风

优化一下代码,让输出对齐:

weathers = [("2018年4月17日", "天气预报:", "晴", "20℃~7℃", "微风转西风3~4级"),("08:00", "天气预报:", "晴", "13℃", "微风"),("12:00", "天气预报:", "晴", "19℃", "微风"),("16:00", "天气预报:", "晴", "18℃", "西风3~4级"),("20:00", "天气预报:", "晴", "15℃", "西风3~4级"),("00:00", "天气预报:", "晴", "12℃", "微风"),("04:00", "天气预报:", "晴", "9℃", "微风")]
for index,weather in enumerate(weathers):if index == 0:print('{}    {}{}   {}   {}'.format(weathers[0][0], weathers[1][1], weathers[2][2], weathers[3][3], weathers[4][4]))else:print('{}           {}{}   {}   {}'.format(weather[0], weather[1], weather[2], weather[3], weather[4]))

新输出

2018年4月17日    天气预报:晴   18℃   西风3~4级
08:00           天气预报:晴   13℃   微风
12:00           天气预报:晴   19℃   微风
16:00           天气预报:晴   18℃   西风3~4级
20:00           天气预报:晴   15℃   西风3~4级
00:00           天气预报:晴   12℃   微风
04:00           天气预报:晴   9℃   微风

【第五章】零基础学Python实战练习(明日科技书配套)相关推荐

  1. 【第四章】零基础学Python实战练习(明日科技书本配套)

    零基础学Python实战练习 第四章 序列的应用 实战一 代码 输出: 实战二 代码 输出 实战三 代码 输出 实战四 代码 输出 第四章 序列的应用 实战一 代码 tank = ["苏烈& ...

  2. 零基础学python实战答案-Python编程从零基础到项目实战 完整PPT+习题答案

    Python编程从零基础到项目实战是一本介绍Python相关知识的Python基础教程,内容涉及算法.Python数据分析.图形处理.Web开发.科学计算.项目管理.人工智能.Python爬虫等.其中 ...

  3. 零基础学python实战-Python3.6零基础入门与实战 PDF 带源码视频版

    给大家带来的一篇关于Python相关的电子书资源,介绍了关于Python 3.6.入门.实战方面的内容,本书是由清华大学出版社出版,格式为PDF,资源大小518.9 MB,王启明编写,目前豆瓣.亚马逊 ...

  4. 零基础学python实战-零基础学习python_类和对象(36-40课)

    今天我们开始学习面向对象的知识咯,之前我对面向对象也学的懵懵的,因为感觉知道好像又不是特别清楚,接下来我们一起来学习类和对象吧.零基础的课程我都是看小甲鱼的视频学的,没基础的可以去这个网址下载视频学习 ...

  5. 零基础学python实战-Python3零基础入门到爬虫实战

    购买福利 各位小伙伴可以加入QQ群获得课程课件图文资料,并且在群里面与其他小伙伴进行交流,QQ群请在购买成功后加小狮妹的QQ(3400982550)获取. 学习本基础课程后,小伙伴如果想要进一步进行实 ...

  6. 零基础学python实战-苦苦发愁学习Python?让你享受 7天 掌握Python的感觉

    Python的优势是什么? 大数据时代,越来越多的人开始把python应用到数据分析领域,因为pyhton在表格操作.数据可视化等方面有其独特的优势,主要体现在以下3个方面: 一是编程上手快 pyth ...

  7. 零基础学Python课后实战第三章

    零基础学Python课后实战第三章 实战一:模拟支付宝蚂蚁森林的能量产生过程 实战二:猜数字游戏 实战三:模拟跳一跳小游戏的加分块 实战四:模拟10086查询功能 实战一:模拟支付宝蚂蚁森林的能量产生 ...

  8. 零基础学Python课后实战第六章

    零基础学Python课后实战第六章 tips 实战一:导演为剧本选主角 实战二:模拟美团外卖商家的套餐 实战三:根据生日判断星座 实战四:将美元转换为人民币 tips 格式化字符串: {:0>9 ...

  9. 零基础学Python课后实战第七章

    零基础学Python课后实战第七章 tips 实战一:修改手机默认语言 实战二:给信用卡设置默认密码 实战三:打印每月销售明细 tips 对象:对象是事物存在的实体,如一个人. 通常将对象划分为两部分 ...

最新文章

  1. 它又来了!Fastjson 被发现其用于安全控制的开关autotype限制可被绕过...你方了没?...
  2. CTFshow 反序列化 web263
  3. linux 下串口的配置需要注意
  4. android启动白屏的分析,Android 启动白屏,跳转黑屏以及冷启动优化
  5. 基于Google测试框架实现自己的测试框架
  6. WebRTC Linux ADM 实现中的符号延迟加载机制
  7. 听说下雨天,子序列和孤单的你更配哦~
  8. bzoj 1263: [SCOI2006]整数划分
  9. 大数据分析的环节有哪些
  10. n9 android rom,美如画N9盒子线刷固件rom升级包下载(全志H8芯片)
  11. 2021微信网页跳转APP
  12. STM32-端口复用和重映射
  13. Yield Guild Games:播客专题
  14. 在追梦的路上,唯独脚踏实地,才能梦想成真
  15. Android 跳转到高德、百度、腾讯地图进行导航
  16. JavaScript(ES5)
  17. WORD禁止自动更新域
  18. 小米手机市场份额为何下降
  19. 给大家分享一些IT网课资源的学习网站啦
  20. 学习笔记:CODESYS(顺序功能图SFC)

热门文章

  1. 【转】让电脑更高效的魔法 – 浅谈高效率PC工作环境的简化、净化与建立方法...
  2. python 实现QQ群接龙统计未接龙成员名单
  3. 字节跳动2018.11校招测试岗笔试(回忆版)
  4. itext实现pdf内容替换
  5. php下载安装方法,phpstudy 2016免费版-php开发环境下载 v2016.11.03 附带安装教程 - 安下载...
  6. Python代码写一个玫瑰花
  7. 我和数据标注的那些事儿
  8. 20172327 2017-2018-2 《程序设计与数据结构》第十一周学习总结
  9. Office显示未授权,需要激活这种情况应该怎么处理
  10. 春天到了,讲讲Spring的工作原理