内容正文:
2023信息技术学业水平考试综合应用题检测
1. 有一个已经按小到大顺序排列好的列表L=[2,3,8,12,18,21],现输入一个正整数n,要求按原来的规律将n插入到列表L中。小明先判断n是否大于列表L中最后一个数据项的值,如果大于,直接将n追加到列表L的末尾;否则,则从前往后依次比较列表L中的值与n的大小,进而确定n的插入位置,具体实现算法如下:
请根据算法,完善下面的python 程序
L = [2, 3, 8, 12, 18, 21]
n = int(input("请输入一个正整数:"))
if n >= L[-1]:
(1)
else:
i = 0
while i <= (2) :
if n <= L[i]:
(3)
break
i = i + 1
print("插入正整数”,n,"之后,新的列表L为:", L)
【填空】
(1)__________
【填空】
(2) __________
【填空】
(3) __________
2. 小明同学学习完循环结构后,使用python编写程序实现50!,并输出50!的值,部分代码如下,请在(1)(2)(3)空白处补充完善程序,使得程序正确运行
s=1
for i in range (1)
(2)
(3)
【填空】
(1)__________
【填空】
(2) __________
【填空】
(3) __________
3. 用Python 编程实现算法功能: 求阶乘和S=1!+2!+3!+4!+5!
说明: n!=1x2x3x4...xn,例如3!=1x2x3。请根据算法需求完善以下程序:
s=0
n= (1)
for i in range (1 , (2) ):
n=n*i
s= (3)
print("1!+2!+3!+4!+5!="s)
【填空】
(1)__________
【填空】
(2) __________
【填空】
(3) __________
4. 斐波那契在《计算之书》中提出了一个有趣的兔子问题:假设一对兔子每个月可以生一对小兔子,一对兔子出生后第2个月就开始生小兔子。则一对兔子一年内能繁殖成多少对?程序代码如下,请补全划线处对应的代码:
def fib(n):
f2=f1= (1)
for i in range (3, (2) ):
f1,f2=f2,f1=f2
return (3)
n=int(input(“输入月份数:”))
print(“兔子总对数为:”,fib(n))
n = int(input("输入月份数:"))
print("兔子总对数为:", fib(n))
【填空】
(1)__________
【填空】
(2)__________
【填空】
(3)__________
5. 小明学习python语言之后,想编写一个模拟掷骰子猜大小的游戏程序,游戏规则为:投掷3个骰子,每个骰子点数为1到6之间,如果总点数大于10,则骰子点数为大,否则骰子点数为小。程序运行的部分结果如下图所示,请根据游戏规则和运行结果将程序中空白部分补充完整:
import random
import time
print("正在摇骰子......")
time.sleep(2)
userNum=int(input("请输入您猜的点数:")
num=0
print("骰子的点数为:", end="")
for i in range (1) :
n=random.randint(1,6)
(2)
print(n, end="")
print("")
if (3) :
print("运气爆棚,猜中了点数!")
elif (4) or(num<=10 and userNum<=10):
print(" (5) ")
else:
print("运气不行,猜错了")
【填空】
(1)__________
【填空】
(2)__________
【填空】
(3)__________
【填空】
(4)__________
【填空】
(5) __________
6. 如图所示的流程图,请根据要求回答以