粤教版(2019)信息技术必修一第四章 程序设计基础 综合练习
试卷更新日期:2022-11-25 类型:单元试卷
一、选择题
-
1. 有如下Python程序段:
import random num=[]
for i in range(0,6):
n=random.randint(1,10)
num.append(n)
for i in range(1,6):
if i%2==1 and num[i]>num[i-1] :
num[i],num[i-1]=num[i-1],num[i]
else:
num[i]=num[i]-1
print(num)
运行后列表中的值可能是( )
A、11,1,7,5,4,3 B、5,3,6,4,0,2 C、4,1,7,4,4,0 D、9,8,1,1,5,42. 哥德巴赫猜想是近代三大数学难题之一,即任一大于2的偶数,都可表示成两个素数之和。采用Python验证100以内哥德巴赫猜想的正确性,则划线处的代码为:( )import math
def isprime(num):
i=2
while i<=int (math.sqrt(num)):
if num % i==0:
return False
i+=1
return True
n=6
while n<=100:
for j in range(3,int (n/2)):
if ____________________:
print (n,'=',j, '+',n-j)
n+=2
A、isprime(j) and isprime(n-j) B、isprime (j) and isprime(j+1) C、isprime(n) and isprime(j) D、isprime(j) and isprime(j-1)3. 在Python中,以下赋值语句格式不正确的是( )。A、x,y=y,z B、x,y=1,2 C、x=y=30 D、x+y=z4. 执行下列程序后,屏幕上输出的结果是( )for i in range(5, 1):
print(i,end=" ")
A、 5 4 3 2 1 B、 4 3 2 1 C、 1 2 3 4 5 D、没有结果5. 下面的Python程序段运行后的输出结果是( )x=24
if x%2=1:
print(x,"是奇数。")
else:
print(x,"是偶数。")
A、24是奇数。 B、x是偶数。 C、x是奇数。 D、24是偶数。6. 我国古代数学家张丘建在《算经》一书中提出了如下的数学问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问翁、母、雏各几何?用Python编写程序如下:for x in range(0,21):
for y in range(0,34):
方框内代码可以为:()
A、 B、 C、 D、7. 某超市用13位数字标识商品信息,其中8~12位是表示商品名的代码,用字符串变量s存储商品 的信息码(例如:s="9787100109796",商品名代码是“10979”),下列Python表达式中能取出 商品名代码的是( )A、s[-6:-1] B、s[7:11] C、s[8:12] D、s[7:-2]8. 下列函数中,能实现将数字转变为字母功能的函数是()A、len() B、chr() C、ord() D、print()二、填空题
-
9. 有10个数据34,22,101,8,14,88,24,17,54,7依次存放在列表list中,有如下Python程序,当程序运行结束时,输出的值是: 。
list= [34,22, 101,8,14,88,24,17,54,7]
num=list[0]
for i in range(1,10):
if list[i]<num:
num=list[i]
print(num)
10. 在Python中,(13%3)**2的结果是。11. Python表达式5%2+9//4的运算结果是。12. 使用python编写游戏时,需要导入模块。13. Python算术运算中求余数运算符用表示。三、判断题
-
14. 若有a=[1,2,3,4,5],则表达式a[2]+a[4]的值为6。15. 常见的顺序结构语句有输入语句、输出语句和赋值语句。16. 循环结构表示程序中各步操作按出现的先后顺序执行。17. Python程序语言中的“=”和数学上的“=”是一回事。18. Python语言的表达式中,“%”是取模算术运算符。
四、操作题
-
19. 小王收集“2020年全省各市、县城乡居民收入情况”数据,保存在D盘下“2020年城乡居民收入情况.xlsx”Excel文档,如图-1所示。现在利用pandas模块进行数据处理。
计算各县市区的“城镇居民收入”(城镇居民收入=工资性收入+经营净收入+财产净收入+转移净收入)
根据“城镇居民收入”值对各市县区进行排位(值大在前,值相同位次相同)
根据全省十一城市的“城镇居民收入”画出图表,如图-2所示。
(1)、以下Python程序实现上述功能,请在划线处填入合适的代码。import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_excel
n = len(df)
sj = 0
for i in df.columns[4:]:
sj =
df["城镇居民收入"] = sj
#按“城镇居民收入”为关键字降序排序
df = df.sort_values("城镇居民收入",ascending = False)
df = df. reset_index(drop=True) #重置索引
df["排位"] = 1
for i in range(1, n):
if df.at[i,"城镇居民收入"] == df.at[i - 1,"城镇居民收入"]:
df.at[i,"排位"] =
else:
df.at[i,"排位"] = i + 1
df1 = round(df.groupby("市区", as_index = True).mean(),1) #按“市区”为关键字分组求平均值并保留1位小数,as_index = True表示将“市区”作为索引
plt.figure(figsize=(10,6))
plt.rcParams['font.family']=['SimHei'] #显示汉字
#绘制水平柱形图(条形图)
plt.title('2020年全省各市城镇居民收入情况',fontsize = 20) #设置图表标题文字
plt.show()
(2)、方框处代码应为( )A、plt.barh(df1.市区,df1.城镇居民收入) B、plt.barh(df1.index,df1.城镇居民收入) C、plt.plot(df1.市区,df1.城镇居民收入) D、plt.plot(df1.index,df1.城镇居民收入)五、简答题
-
20. 编写程序。一辆动车即将穿越隧道,已知隧道全长a米,动车车长为300米,动车的速度为b米/秒。请编写一个程序,根据用户输入的数值,计算并输出动车完全通过隧道需要花费的时间。
要求:屏幕提示用户输入隧道长度和动车的行驶速度(输入时大于0 的浮点数),输出火车完全通过隧道需要花费的时间。 提示:时间=(隧道长度+动车长度)÷ 动车速度,单位为秒。
21. 苹果和虫子问题。你买了一箱n个苹果,很不幸的是买完时箱子里混进了一条虫子。虫子每x小时能吃掉一个苹果,假设虫子在吃完一个苹果之前不会吃另一个,那么经过y小时你还有多少个完整的苹果?
输入:
输入仅三行,包括n,x和y(均为整数)。
输出:
输出也仅一行,剩下的苹果个数
样例输入:
10
4
9
样例输出:
7
-