Python期末考试试题:程序填空与阅读理解
版权申诉
92 浏览量
更新于2024-07-08
收藏 1.03MB DOCX 举报
"这是一份Python期末考试题,包含了程序填空和阅读理解部分,主要涉及基础编程概念、条件判断、循环以及简单的算术运算。题目涵盖了计算奇数之和、根据公式计算适宜运动心率、求等差数列和以及识别水仙花数。"
在本次Python期末考试中,学生需要完成以下几个编程任务:
1. 求1~100内奇数之和:使用`range`函数可以生成一个包含1到100的序列,然后通过列表推导式或循环结构筛选出奇数,并计算它们的和。可以使用以下代码实现:
```python
sum_of_odds = sum(i for i in range(1, 101, 2))
```
这里`range(1, 101, 2)`生成一个从1到100的奇数序列,`sum`函数则计算这些奇数的和。
2. 计算最适宜的运动心率:根据题目描述,需要根据用户的年龄(`age`)、安静心率(`HRrest`)和性别(`gender`)计算适宜的运动心率。程序已经给出了大部分结构,但缺少条件判断和计算过程。完成后的代码如下:
```python
if gender == 'male':
n = 220
else:
n = 210
low = (n - age - HRrest) * 0.6 + HRrest
high = (n - age - HRrest) * 0.8 + HRrest
print('最适宜的心率是:', low, '~', high)
```
3. 求1+2+3+…+100的结果:这是一个等差数列求和的问题,可以使用高斯求和公式或者循环结构来解决。完整的代码如下:
```python
total_sum = sum(range(1, 101))
print('1到100的和是:', total_sum)
```
4. 阅读程序并回答问题:这段代码是用来找出所有三位数的水仙花数。`==`的符号在这里表示比较操作,检查`n`是否等于其各位数字立方和。代码中的水仙花数计算是正确的,但存在一个小错误,`forninrange(100,1000):`应该改为`for n in range(100, 1000):`,去掉第一个`3`。关于`==`的作用,它是Python中的等于运算符,用于比较两个值是否相等。
最后,还有一段未完成的循环和累加的代码:
```python
s = 0
k = 1
while (k <= 101):
# 此处应添加累加k的代码
s = s + k
# 此处可能是一个错误,应该更改为'k = k + 1'
k = k + 5
print(s)
```
这个循环计算的是从1到101(包括101),步长为5的所有数字的和。因此,当`k`小于或等于101时,它会累加`k`的值并更新`k`。完成后的循环应该是:
```python
s = 0
k = 1
while (k <= 101):
s = s + k
k = k + 5
print(s)
```
输出结果是所有5的倍数从1到100的和。
2021-09-14 上传
2021-09-14 上传
2021-09-14 上传
2023-03-06 上传
2021-09-14 上传
2021-09-14 上传
春哥111
- 粉丝: 1w+
- 资源: 6万+
最新资源
- Linux系统指令大全.pdf
- 深入浅出Struts2.pdf
- Pro Ado.net Data Services
- vim中文用户手册 学习vi
- 基于单片机的智能台灯设计与制作
- Serial Port Complete 2nd 英文版 PDF
- fedora中文版安装及配置常见问题解答
- fedora 10安装指南
- ARM Manual (ARM英文操作手册)2
- The Verilog Hardware Description Language 5th Edition
- vb图书管理系统论文
- more effective C++
- Struts in Action 中文版
- MFC程序中类之间变量的互相访问
- 带串行口通信汉字点阵屏的研究与实现
- 先进算法讲义——中科大