内容正文:
解析算法与枚举算法
1. 下列问题中适合使用解析算法解决的是( )
A. 计算两个电阻的并联值 B. 输出2~100以内的所有素数
C. 查找100以内所有能被6整除的数 D. 找出100以内所有6的倍数
2. 编写Python程序,将华氏温度转换为摄氏温度并保留两位小数,转换公式为:C=5/9 (F-32),程序如下,划线处应填( )
f=float(input(″请输入华氏温度:″))
c=
print(″对应的摄氏温度为:%.2f ″%c)
A. 5//9 *(f-32) B. 5/9* *(f-32) C. 5/9* (f-32) D. 5/9(f-32)
3. 用枚举算法输出100以内既能被3整除又能被5整除的数据,我们可以从算法不同角度去思考,确定枚举范围,下列选项中Python程序处理有误的是( )
A.for i in range(1,101):
if i%3==0 and i%5==0:
print(i)
B.for i in range(1101):
if i %15==0:
print(i)
C.for i in range(15101,15):
print(i)
D.for i in range(1,101//15):
print(i*15)
A. A B. B C. C D. D
4. 解析算法的基本思想是根据问题的____与____之间的关系,找出求解问题的______,并通过表达式的______来实现问题的求解。
5. 枚举算法的程序实现中,使用____(单选,填字母:A.分支结构/B.循环结构)罗列出问题所有可能的解,循环中通过____(单选,填字母:A.分支结构/B.循环结构)判断当前的可能解是不是真正的解。
6. 编写Python程序,实现如下功能:输入全票价格和消费者身高,输出消费者应付的实际票价。实际票价的计算规则为:身高1.2米及以下免票;身高1.2米以上且1.4米及以下半票;身高超过1.4米全票。程序代码如下。在划线处填上合适的代码。
jg=float(input('请输入全票价格:'))
h=float(input('请输入消费者身高(米):'))
if h<=1.2:
pj=0
①________
pj=jg* 0.5
②________
pj=jg
print('票价为',round(pj,2),'元')
7. 某压缩算法的基本思想是用一个数值和一个字符代替具有相同值的连续字符串。例如,输入字符串“RRRRRGGBBBBBB”;压缩后数据为“5R2G6B”。实现上述功能的Python程序如下。
输入字符串:RRRRRGGBBBBBB
压缩后数据为:5R2G6B
请回答下列问题:
(1)请在程序划线处填入合适的代码。
s=input(″输入字符串:″)
c=1
①____
for i in range(len(s)-1):
if②_____:
c+=1
else:
ans+=str(c)+s[i]
③____
print(″压缩后数据为:″,ans)
(2)若删除加框处代码;输入字符串“RRRRRGGBBBBBB”,则压缩后结果为____。
(3)该程序主要使用的算法属于___(单选,填字母:A.解析算法/B.枚举算法)。
8. 百钱买百鸡问题:我国古代数学家曾经提出了这样一个问题:“鸡翁一值钱5,鸡母一值钱3,鸡雏三值钱1。问:花钱100买100只鸡,鸡翁、鸡母、鸡雏各几何?”实现上述功能Python代码如下。请在划线处填入合适的代码。
for i in range(21):
for j in range(34):
①______
if②_______:
print(″公鸡:″,i,″母鸡:″j,″小鸡:″k)
9. 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?输出所有满足条件的三位数的组合。编写Python程序如下,请将划线处代码补充完整。
arr=[]
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
num=100 i+10 j+k
if i!=j and j!=k and ①____:
arr.append(num)
print(②______″个″,arr)
10. 输入一段英文句子,以英文句号结尾,并把句中所有单词存入一个列表中,如此可以方便统计单词的个数,也方便读取任意位置单词。
例如输入:“I am a student of senior middle school.”
处理完毕后:[I,am,a,student,of,senior,m