Python语言程序设计基础(第二版)P93答案示例

Judy ·
更新时间:2024-09-21
· 785 次阅读

P93程序练习题代码示例

3.1 重量计算。月球上物体的体重是在地球上的16.5%,假如你在地球上每年增长 0.5 kg,编写程序,输入未来十年你在地球和月球上的体重状况。示例:

#重量计算 weight = int(input("请输入你的体重(kg):")) s = 0.5 #定义初始值每次都增长 0.5 KG #十年后 for i in range(10): #持续增加0.5KG体重 weight = weight + s print("在地球体重是:{:.2f}kg".format(weight)) print("在月球体重是:{:.2f}kg".format(weight*0.165))

在这里插入图片描述
3.2 天天向上续。尽管每天坚持,但人的能力发展并不是无限的,它符合特定的模型。假设能力增长值符合如下带有平台期的模型:以7天为周期,连续学习三天能力值不变,从第四天开始至第七天能力增长为前一天的1%。如果七天有一天间断学习,则从头计算。请编写程序代码:如果初始能力值为1,连续学习365天后的能力值是多少?代码如下:(此题太难理解了,苦死小白)

import random power = 1 #初始能力值 # 能力增长值 dayup = 0.01 #周期数 起始 = 0。每执行完七天就算一个周期。 week = 0 for i in range(365): # 连续学习三天能力值不变 if i%7 in [0,1,2]: pass # 从第四天开始至第七天每天能力增长为前一天的百分之1 if i%7 in [3,4,5,6]: power = power * (1 + dayup) #如果i%7为6,则周期数+1 if i%7 in [6]: week += 1 #如果七天里有一天 间断学习 则周期从头计算 print('连续学习365天后的能力值为{:.3f}'.format(power)) print('连续周期数为{}'.format(week))

在这里插入图片描述

3.3 天天向上续。采用3.2模型。如果初始能力值为1,固定每十天休息1天,365天后的能力值是多少呢?每十五天休息一天呢?代码:(此题感谢教师的指导,还是学到了很多。加油。)

n = 0.01 # 能力增长值 off = [10, 15] # 每十天休息一次,每十五天休息一次 for k in off: capacity = 1 # 初始能力值(可迭代) j = 0 # 天数 for i in range(365): if i % k != 0: # 前9天 and 前14天 if (i - (k + 1) * j) % 7 not in [1, 2, 0]: capacity = capacity * (1 + n) # 能力值每次增长0.01 else: # 否则能力不增长 capacity = capacity else: j += 1 # 天数+1,但是能力值并不会增长! capacity = capacity # 休息的时候能力值不变的 print("Rest every {} days, capacity is: {:.2f} after 365 days.".format(k, capacity))

在这里插入图片描述
3.4 回文数判断。设n是任意自然数,如果n的各位数字反向排序所得自然数与n相等,则n被称为回文数。 从键盘输入一个五位数,请编写程序判断这个数字。 代码示例:

n = input("请随机输入一个五位数的数字:") if n[4] == n[0] and n[3] == n[1]: print("是回文数") else: print("不是回文数")

在这里插入图片描述
3.5 用print()函数输出一个田字格。示例:

#田字格效果 s = ("+ " + "—— " * 4) * 2 + "+\n" #top s1 = ("| " + " "*12 )*3 + "\n" #body print(s+s1*4+s+s1*4+s)

在这里插入图片描述

3.6 打印如下形式的进度条。示例:

import sys,time text = 'Starting ...Done!' for i in range(len(text)): sys.stdout.write('%s%s%s%.2f%%'%(text[:i+1],'>'*(2),' '*(17-i),(i+1)*100/17)) # sys.stdout的形式就是print的一种默认输出格式 sys.stdout.write('\n') time.sleep(0.3)

在这里插入图片描述
3.7. 文本风格。将以下代码保存为文件,在终端打开。可以看到几个符号的刷新变化。

while True: for i in ['/','-','|','\\','|']: print('%s\r' % i,end='')

如果有示例有需要改正优化之处,留下宝贵意见。
感谢。
加油!希望可以成为合格的程序猿吧!
在这里插入图片描述
晚安!


作者:maself



程序设计基础 程序设计 程序 示例 Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号