Python语⾔程序设计基础第⼆版(嵩天著)课后答案第三章(程序练习题)
3.1 重量计算。⽉球上物体的体重是在地球上的16.5%,假如你在地球上每年增长0.5kg,编写程序输出未来10年你在地球和⽉球上的体重情况。
不是很懂题意是只要⼗年后的体重变化,还是要每⼀年的体重变化。就写了每⼀年的体重变化,若只想要⼗年后的体重变化就把两个输出语句放在最后(for循环的外⾯)
weight =51.00#初始化在地球上的体重
weight1 =0#暂定⽉球上体重为0.仅仅只是为了声明变量
yearfactor =0.5#每年体重增加值
for j in range(1,11,1):
weight = weight + yearfactor          #地球上每⼀年的体重
print("第{}年在地球上的体重为{:.2f}kg".format(j,weight))
weight1 = weight *0.165#⽉球上每⼀年的体重
print("第{}年在⽉球上的体重为{:.2f}kg".format(j,weight1))
运⾏结果:
3.2 天天向上续。尽管每天坚持,但⼈的能⼒发展并不是⽆限的,它符合特定模型。假设能⼒符合如下带有平台期的模型:以七天为周期,连续学习3天能⼒值不变,从第4天开始⾄第7天每天能⼒增长为前⼀天的1%,如果七天中有⼀天间断学习,则周期从头计算。请编写程序回答,如果初始能⼒值为1,连续学习365天后能⼒值是多少?
因为是连续学习365天后,就没有加判断是否间断学习的情况,把3.4(P76)的代码稍微改动了⼀下
dayup =1.00#初始⽔平值
for i in range(1,365):
shelly人工if i%7in[4,5,6,0]:
dayup = dayup *(1+0.01)
else:
dayup = dayup
print("年终值:{:.2f}".format(dayup))
#运⾏结果:
怎样做自己的小程序
#年终值:7.92
3.3 天天向上续。采⽤程序练习题3.2的能⼒增长模型,如果初始能⼒值为1,固定每10天休息1天,365天后能⼒值是多少?如果每15天休息1天呢?
躲不过啊躲不过,这个模型是⾮建不可了
def stay(x):#模型函数
dayup =1.00#初始⽔平值
day =0#10天休息⼀天
cycle =0#周期
for i in range(365):
if day==x or cycle ==7:#10天休息⼀天,重新开始计算天数,7天为⼀周期
day =0
cycle =0
else:
if day%7in[3,4,5,6]:#后四天能⼒增长
dayup = dayup *(1+0.01)
day = day +1
else:
day = day +1
cycle = cycle +1
print("每{}天休息⼀天365天后能⼒值:{:.2f}".format(x,dayup))
stay(10)#调⽤模型函数
stay(15)
运⾏结果:
3.4 回⽂数判断。设n是⼀任意⾃然数,如果n的个位数字反向排列所得⾃然数与n相等,则n被称为回⽂数。从键盘输⼊⼀个5位数,请编写程序判断这个数字是不是回⽂数。
n =input("请输⼊⼀个五位数:")
html filterif not(int(n)>9999and int(n)<99999):#判断是否是五位数,否则输⼊⽆效
print("输⼊⽆效")
else:
if(n == n[::-1]):#[::-1]代表字符串倒序,在上⼀篇已经介绍过
print("{}是回⽂数".format(n))
else:
print("{}不是回⽂数".format(n))
3.5 ⽥字格的输出。使⽤print()函数输出如图所⽰样式的⽥字格。
for i in range(11):#⼀⾏⼀⾏打印,⼀共⼗⼀⾏
if i %5==0:#每四⾏有⼀横⾏
print("+"+"+".center(9,"-")+"+")#center(width[, fillchar]):返回长度为 width 的字符串,原字符串在其正中。使⽤指定的 fillchar 填充两边的空位(默认使⽤ ASCII 空格符)。如果 width ⼩于等于 len(s) 则返回原字符串的副本。
else:#中间的|
print("|"+"|".center(9)+"|")
另外,能⽤print解决的问题,绝不⽤复杂的写法,毕竟再简便在可读性上也⽐不了print简单粗暴。(运⾏结果就不贴了,看代码就能看出来)
importance of biodiversityprint("+----+----+")python编程基础教程课后答案
print("|    |    |")
print("|    |    |")
print("|    |    |")
print("|    |    |")
print("+----+----+")
print("|    |    |")
print("|    |    |")
print("|    |    |")
print("|    |    |")
print("+----+----+")
3.6 ⽂本进度条。仿照实例4,打印如下形式的进度条。
看不懂的看书,P89 4.1基本没怎么改动。
import time
scale =3#进度条精度,简单看就是中间⼩圆点的个数
print("--------执⾏开始---------")
for i in range(scale +1):
a, b ='.'* i,' '*(scale - i)
print("\rStarting {}{} Done!".format(a, b),end ='')
time.sleep(0.1)#增⼤挂起时间,看着有模拟效果
print()
print("--------执⾏结束----------")
3.7 ⽂本风格。将如下程序段存成⽂件,在控制终端(如Windows的)。运⾏该程序,观察输出结果。更改print()函数的参数,例如去掉end的赋值,再观察运⾏结果。
运⾏结果就不贴了,就是⽆限循环,但不去掉end的话,视觉上看不出来是⽆限循环,去掉就可以看出来。(while True就是⽆限循环)3.8 ⼩巧⼉精致的第三⽅进度条⼯具库。tqdm是⼀个快速、扩展性强的进度条⼯具库。tqdm是⼀个第三⽅库,⾸先需要安装,然后才能使⽤。本书8.6节将详细介绍第三⽅库的安装⽅法。请读者提前阅读。运⾏如下程序,观察运⾏结果。
import time
from tqdm import tqdm
for i in tqdm(range(1,100)):
time.sleep(0.1)
运⾏结果:
这⾥附上tpdm包的pip安装⽅法:pip install tqdm
直接cmd进⼊命令安装即可
transpor加个把py⽂件打包成exe⽂件的⽅法。
学习这个⽅法的初⼼只是为了恶搞 /哈哈哈/
1.⾸先需要安装PyInstaller。⽤pip安装,安装命令:
pip install pyinstaller
2.可能安装会出现问题,出现⼀⼤堆红⾊的。这种情况下,先安装wheel,安装命令:pip install wheel。安装完wheel再安装PyInstaller 3,开始打包:进⼊⽂件所在的盘符,可以再命令窗⼝切换盘符,也可以从⽂件直接进⼊命令。我习惯性从⽂件进⼊命令,这⾥只介绍这⼀种⽅法,到⽂件所在的位置,然后如下图所⽰。
3.进⼊命令后输⼊命令:pyinstaller -F xxx.py(xxx.py,打包的⽂件名),接下来就等系统⾃动打包结束。
4.打包成功后项⽬中新增dist⽂件,点开dist⽂件就可以看到打包好的exe⽂件。
注:写博客只是为了当笔记看,有任何问题可以评论说,⼀起互相交流学习

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。