Python语言程序设计基础(第2版)第三章课后习题答案

程序练习题

我自己做的课后习题答案,解析中会存在错误或者存在更多更好的解法,欢迎指正!
3.1 重量计算

#重量计算
weight = eval(input('请输入你的体重(kg):'))
for i in range(10):
        new_weight = weight +  0.5*(i + 1)
        print('未来第{:^5}年地球体重为{:.3f}kg,月球体重为{:.3f}kg'.format(i+1, new_weight, new_weight*0.165))
请输入你的体重(kg)60
未来第  1  年地球体重为60.500kg,月球体重为9.982kg
未来第  2  年地球体重为61.000kg,月球体重为10.065kg
未来第  3  年地球体重为61.500kg,月球体重为10.148kg
未来第  4  年地球体重为62.000kg,月球体重为10.230kg
未来第  5  年地球体重为62.500kg,月球体重为10.312kg
未来第  6  年地球体重为63.000kg,月球体重为10.395kg
未来第  7  年地球体重为63.500kg,月球体重为10.478kg
未来第  8  年地球体重为64.000kg,月球体重为10.560kg
未来第  9  年地球体重为64.500kg,月球体重为10.643kg
未来第 10  年地球体重为65.000kg,月球体重为10.725kg

3.2 天天向上续
代码如下:

#天天向上续.py
dayup = 1.0
for i in range(365):
        if i % 7 in [0,1,2]:
                dayup = dayup
        else:
                dayup *= (1+ 0.01)
print("连续学习365天后能力值为{:<.3f}".format(dayup))

结果如下:

连续学习365天后能力值为7.922

3.3 天天向上续
固定每10天休息1天代码如下:

#天天向上续.py
dayup = 1.0
for i in range(365): #以10天为单位计算能力增加值
        if i % 10 in [0,1,2,7,8,9]: 
                dayup = dayup #第1,2,3,8,9,10天能力不变
        else:
                dayup *= (1+0.01) #第4-7天能力在之前基础上增加1%
print("连续学习365天后能力值为{:<.3f}".format(dayup))

运行结果如下:

连续学习365天后能力值为4.275

固定每15天休息1天代码如下:

#天天向上续.py
dayup = 1.0
for i in range(365): #以15天为单位计算能力增加值
        if i % 15 in [0,1,2,7,8,9 ,14]: 
                dayup = dayup #第1,2,3,8,9,10,15天能力不变
        else:
                dayup *= (1+0.01) #第4-7,11-14天能力在之前基础上增加1%
print("连续学习365天后能力值为{:<.3f}".format(dayup))

运行结果如下:

连续学习365天后能力值为6.892

3.4 回文数判断

#回文数判断.py
num = input('请输入一个数字:')
new_num = num[::-1]
if eval(num) == eval(new_num):
        print("此数是回文数")
else:
        print("此数不是回文数")

3.5 田字格的输出

#田字格的输出.py
a = ' + '
b = ' - '
c = ' | '
d = '    '
for i in range(11):
        if i in [0,5,10]:
                print('{0}{1}{0}{1}{0}'.format(a,b*4))
        else:
                print('{0}{1}{0}{1}{0}'.format(c,d*4))

输出结果

 +   -   -   -   -  +   -   -   -   -  + 
 |                  |                  | 
 |                  |                  | 
 |                  |                  | 
 |                  |                  | 
 +   -   -   -   -  +   -   -   -   -  + 
 |                  |                  | 
 |                  |                  | 
 |                  |                  | 
 |                  |                  | 
 +   -   -   -   -  +   -   -   -   -  + 
>>> 

3.6文本进度条
代码如下:

#!/usr/bin/python3
import time 
for i in range(101):
        scale = i//30
        a = '.' * scale
        print('\rStarting {}'.format(a),end = '')
        time.sleep(0.02)
print('\rStarting {} Done!'.format('.'*3))

终端运行结果如下:

(base) liuyang@192 ~ % documents/TextBar.py
Starting .
Starting ..
Starting ... Done! #同行刷新分别展示

3.7 文本风格运行结果
在同一位置不断交替出现"/","-","|","","|",运行如下:

(base) liuyang@192 ~ % documents/文本风格.py
zsh: permission denied: documents/文本风格.py
(base) liuyang@192 ~ % chmod a+x ./documents/文本风格.py          
(base) liuyang@192 ~ % documents/文本风格.py       
|

删除 end = ““后,每行行首交替出现”/”,"-","|","","|"。

3.8 tqdm进度条
使用pip3 install tqdm安装tqdm第三方库。

(base) liuyang@192 ~ % pip3 install tqdm
Collecting tqdm
  Downloading tqdm-4.48.0-py2.py3-none-any.whl (67 kB)
     |████████████████████████████████| 67 kB 6.5 kB/s 
Installing collected packages: tqdm
Successfully installed tqdm-4.48.0

测试代码

#a3.8tqdmBar.py
from tqdm import tqdm
from time import sleep
for i in tqdm(range(1,100)):
        sleep(0.01)

运行结果

 0%|          | 0/99 [00:00<?, ?it/s]
  9%|| 9/99 [00:00<00:01, 88.86it/s]
 17%|█▋        | 17/99 [00:00<00:00, 85.49it/s]
 25%|██▌       | 25/99 [00:00<00:00, 81.32it/s]
 33%|███▎      | 33/99 [00:00<00:00, 78.76it/s]
 40%|████      | 40/99 [00:00<00:00, 75.05it/s]
 47%|████▋     | 47/99 [00:00<00:00, 69.99it/s]
 55%|█████▍    | 54/99 [00:00<00:00, 66.56it/s]
 62%|██████▏   | 61/99 [00:00<00:00, 65.45it/s]
 69%|██████▊   | 68/99 [00:00<00:00, 64.18it/s]
 76%|███████▌  | 75/99 [00:01<00:00, 62.13it/s]
 83%|████████▎ | 82/99 [00:01<00:00, 59.78it/s]
 89%|████████▉ | 88/99 [00:01<00:00, 58.44it/s]
 95%|█████████▍| 94/99 [00:01<00:00, 55.74it/s]
100%|██████████| 99/99 [00:01<00:00, 59.90it/s]

猜你喜欢

转载自blog.csdn.net/m0_48569082/article/details/107751598