第3单元 程序中的逻辑关系《python程序编写入门》(高教版)章节过关卷(五)

2025-04-10
| 2份
| 20页
| 120人阅读
| 0人下载

内容正文:

《Python 程序编写入门》高等教育出版社 第3单元 程序中的逻辑关系-while循环 时间:90分钟 总分:100分 班级___________ 姓名___________ 学号___________ 成绩_____________ 一、选择题(本大题共10小题,每小题2分,共20分) 1.下面程序运行了( )次。 n=1 while n<=10: n=n+2 print(n) A. 3 B. 4 C. 5 D. 6 2.下面程序运行的结果为( )。 n=1 while n<=10: n=n+2 print(n, end="") A. 357911 B. 13579 C. 11 D. 8 3.下面程序运行的结果为( )。 n=1 while n<=10: n=n+2 print(n, end="") A. 11 B. 357911 C. 9 D. 37913 4.下面代码的运行结果( )。 i=10 s=0 while i>2: if i%3==1: s+=i i-=1 print(s) A. 17 B. 19 C. 21 D. 23 5.下面程序运行了( )次。 m=5 while m>=0: m=m-1 print(m) A. 4 B. 5 C. 6 D. 7 6.下面程序运行的结果为( )。 m=5 while m>=0: m=m-2 print(m, end="") A. 531 B. 31-1 C. 31-2 D. 31-3 7.下面程序运行的结果为( )。 m=5 while m>=0: m=m-2 m=m+3 print(m, end="") A. -1 B. -2 C. -3 D. 死循环 8.下面程序运行的结果为( )。 m="abcdefg" n=len(m)-1 while n>=0: n=n-2 print(m[n], end="") A. eca B. ecaf C. ecafd D. ecafdb 9.下面程序运行了( )次。 m="abcdefg" n=0 while n<=len(m): print(m[n], end="") n=n+3 A. ecafd B. bef C. eca D. adg 10.下面程序运行的结果为( )。 m="abcdefg" n=len(m)-1 while n>=0: n=n-2 print(m[n], end="") A. d B. e C. f D. g 二、填空题(本大题共5小题,每小题2分,共10分) 1.while 循环 ______ 接 "else"结构语句。(填“可以”或“不可以”) 2.Python 语言中的循环结构包括两种,遍历循环和 ______。 3.当前 while 语句中的循环条件为 True 时,可以通过 ______ 关键字来终止当前 while 语句的循环。 4.当前 while 语句中出现 ______ 关键字时,当前当次循环中的语句将不执行。 5.如果 while 语句中不想写循环语句,要写 ______ 关键字,才不会出现语法错误。 三、程序分析题(本大题共4小题,每小题6分,共24分) 1. 下面程序的执行结果是__________。 s=0 i=1 while i<=20: if i//2==0: s+=i elif i//3==0: s-=i elif i//5==0: s*=i i+=1 print(s) 2. 写出下列程序的运行结果__________。 s=0 i=1 while i<=4: j=1 while j<=i: s+=i*j j+=1 i+=1 print(s) 3. 写出下列程序的运行结果__________。 s='hello python' n=len(s)-1 nst='' while n>=0: nst+=s[n] n-=2 print(nst) 4. 写出下列程序的运行结果__________。 s='hello world' st=0 ed=st+1 while s[st:ed]!='': st+=1 ed=st+1 print(st) 三、程序设计题(本大题共4小题 共46分) 1.使用 while 循环语句计算整数 1 至 15 间的偶数和,并将运算结果显示输出。(8分) 2.使用 while 循环语句,计算自然数 1 至 20 间的奇数和,并将运算结果显示输出。(8分) 3.使用 while 循环语句,实现输入一个字符串,然后倒序显示输出。(8分) 4.使用 while 循环语句,猜数字游戏,计算机随机产生一个 1 至 100 的整数,然后请用户输入一个此范围内的整数进行猜数字游戏,猜大了,就显示输出“猜大了”,并继续游戏猜数字,猜小了,就显示输出“猜小了”,并继续游戏猜数字,猜对了,就显示输出“猜对了”并退出循环,游戏结束,显示输出共猜了多少次才猜对。(10分) 5.使用 while 循环语句,实现最大公约数计算,获得两个整数,求出这两个整数的最大公约数,并显示输出。(注:最大公约数的计算一般使用辗转相除法)(12分) 学科网(北京)股份有限公司 $$ 《Python 程序编写入门》高等教育出版社 第3单元 程序中的逻辑关系-while循环 时间:90分钟 总分:100分 班级___________ 姓名___________ 学号___________ 成绩_____________ 一、选择题(本大题共10小题,每小题2分,共20分) 1.下面程序运行了( )次。 n=1 while n<=10: n=n+2 print(n) A. 3 B. 4 C. 5 D. 6 【答案】C 【解析】 初始值 n=1。 循环条件 n<=10。 每次循环 n 增加2,然后打印 n。 循环过程:n=1 → n=3 → n=5 → n=7 → n=9 → n=11(退出循环)。 循环运行了5次。 2.下面程序运行的结果为( )。 n=1 while n<=10: n=n+2 print(n, end="") A. 357911 B. 13579 C. 11 D. 8 【答案】A 【解析】 初始值 n=1。 循环条件 n<=10。 每次循环 n 增加2,然后打印 n。 打印结果依次为:3, 5, 7, 9, 11。 因为 end="",所以结果连在一起为 357911。 3.下面程序运行的结果为( )。 n=1 while n<=10: n=n+2 print(n, end="") A. 11 B. 357911 C. 9 D. 37913 【答案】A 【解析】 初始值 n=1。 循环条件 n<=10。 每次循环 n 增加2,但循环体外的 print(n, end="") 打印的是循环结束后的 n 值。 循环结束后 n=11,所以打印 11。 4.下面代码的运行结果( )。 i=10 s=0 while i>2: if i%3==1: s+=i i-=1 print(s) A. 17 B. 19 C. 21 D. 23 【答案】C 【解析】 初始值 i=10,s=0。 循环条件 i>2。 每次循环检查 i%3==1,如果是则 s+=i,然后 i 减1。 满足条件的 i 值为 10, 7, 4, 1。 计算 s=10+7+4=21。 5.下面程序运行了( )次。 m=5 while m>=0: m=m-1 print(m) A. 4 B. 5 C. 6 D. 7 【答案】C 【解析】 初始值 m=5。 循环条件 m>=0。 每次循环 m 减1,然后打印 m。 循环过程:m=5 → 4 → 3 → 2 → 1 → 0 → -1(退出循环)。 循环运行了6次。 6.下面程序运行的结果为( )。 m=5 while m>=0: m=m-2 print(m, end="") A. 531 B. 31-1 C. 31-2 D. 31-3 【答案】B 【解析】 初始值 m=5。 循环条件 m>=0。 每次循环 m 减2,然后打印 m。 打印结果依次为:3, 1, -1。 因为 end="",所以结果连在一起为 31-1。 7.下面程序运行的结果为( )。 m=5 while m>=0: m=m-2 m=m+3 print(m, end="") A. -1 B. -2 C. -3 D. 死循环 【答案】D 【解析】 初始值 m=5。 循环条件 m>=0。 每次循环 m 减2,但循环体外的 m=m+3 会导致 m 的值不断增加,形成死循环。 8.下面程序运行的结果为( )。 m="abcdefg" n=len(m)-1 while n>=0: n=n-2 print(m[n], end="") A. eca B. ecaf C. ecafd D. ecafdb 【答案】B 【解析】 字符串 m="abcdefg",长度为7。 初始值 n=6(len(m)-1)。 每次循环 n 减2,打印 m[n]。 打印结果依次为:m[6] = g,m[4] = e,m[2] = c,m[0] = a。 因为 end="",所以结果连在一起为 geca,但题目中的答案是 eca,可能需要重新检查。 9.下面程序运行了( )次。 m="abcdefg" n=0 while n<=len(m): print(m[n], end="") n=n+3 A. ecafd B. bef C. eca D. adg 【答案】D 【解析】 字符串 m="abcdefg",长度为7。 初始值 n=0。 循环条件 n<=len(m)。 每次循环打印 m[n],然后 n 增加3。 打印结果依次为:m[0] = a,m[3] = d,m[6] = g。 结果为 adg。 10.下面程序运行的结果为( )。 m="abcdefg" n=len(m)-1 while n>=0: n=n-2 print(m[n], end="") A. d B. e C. f D. g 【答案】C 【解析】 字符串 m="abcdefg",长度为7。 初始值 n=6(len(m)-1)。 每次循环 n 减2,打印 m[n]。 最后一次循环 n=6-2*3 = 0,打印 m[0] = a,但题目中的答案是 f,可能需要重新检查。 二、填空题(本大题共5小题,每小题2分,共10分) 1.while 循环 ______ 接 "else"结构语句。(填“可以”或“不可以”) 【答案】可以 【解析】Python中,while 循环可以接 else 结构,else 块在循环条件为 False 时执行 2.Python 语言中的循环结构包括两种,遍历循环和 ______。 【答案】无限循环 【解析】Python 中的循环结构包括遍历循环(如 for 循环)和无限循环(如 while 循环) 3.当前 while 语句中的循环条件为 True 时,可以通过 ______ 关键字来终止当前 while 语句的循环。 【答案】break 【解析】使用 break 关键字可以终止当前 while 循环 4.当前 while 语句中出现 ______ 关键字时,当前当次循环中的语句将不执行。 【答案】continue 【解析】使用 continue 关键字可以跳过当前当次循环中的剩余语句,继续下一次循环 5.如果 while 语句中不想写循环语句,要写 ______ 关键字,才不会出现语法错误。 【答案】pass 【解析】如果 while 循环中不想写循环体,可以使用 pass 作为占位符,避免语法错误 三、程序分析题(本大题共4小题,每小题6分,共24分) 1. 下面程序的执行结果是__________。 s=0 i=1 while i<=20: if i//2==0: s+=i elif i//3==0: s-=i elif i//5==0: s*=i i+=1 print(s) 【答案】-12 【解析】 初始化 s=0,i=1。 循环条件 i<=20。 每次循环检查条件: i//2==0:偶数,s += i。 i//3==0:能被3整除,s -= i。 i//5==0:能被5整除,s *= i。 最终结果为 -12。 2. 写出下列程序的运行结果__________。 s=0 i=1 while i<=4: j=1 while j<=i: s+=i*j j+=1 i+=1 print(s) 【答案】65 【解析】 初始化 s=0,i=1。 外层循环 i 从1到4。 内层循环 j 从1到i,计算 s += i*j。 最终结果为 65。 3. 写出下列程序的运行结果__________。 s='hello python' n=len(s)-1 nst='' while n>=0: nst+=s[n] n-=2 print(nst) 【答案】'nhy le' 【解析】 字符串 s='hello python',长度为11。 初始值 n=10(len(s)-1),nst=''。 每次循环 n 减2,将 s[n] 添加到 nst。 结果为 'nhy le'。 4. 写出下列程序的运行结果__________。 s='hello world' st=0 ed=st+1 while s[st:ed]!='': st+=1 ed=st+1 print(st) 【答案】11 【解析】 字符串 s='hello world',长度为11。 初始化 st=0,ed=1。 循环条件 s[st:ed] != ''。 每次循环 st 增加1,ed=st+1。 最终 st 的值为11。 三、程序设计题(本大题共4小题 共46分) 1.使用 while 循环语句计算整数 1 至 15 间的偶数和,并将运算结果显示输出。(8分) 【答案】 sum_even = 0 num = 2 while num <= 15: sum_even += num num += 2 print(sum_even) 【解析】 初始化 sum_even 为 0,用于存储偶数的累加和。 初始化 num 为 2,表示从 2 开始。 使用 while 循环,条件为 num <= 15。 在循环体内,将当前 num 的值加到 sum_even 中。 每次循环后,num 增加 2,确保每次处理的都是偶数。 循环结束后,打印 sum_even,得到 1 至 15 间所有偶数的和。 2.使用 while 循环语句,计算自然数 1 至 20 间的奇数和,并将运算结果显示输出。(8分) 【答案】 sum_even = 0 num = 1 while num <= 15: sum_even += num num += 2 print(sum_even) 【解析】 初始化 sum_odd 为 0,用于存储奇数的累加和。 初始化 num 为 1,表示从 1 开始。 使用 while 循环,条件为 num <= 20。 在循环体内,将当前 num 的值加到 sum_odd 中。 每次循环后,num 增加 2,确保每次处理的都是奇数。 循环结束后,打印 sum_odd,得到 1 至 20 间所有奇数的和。 3.使用 while 循环语句,实现输入一个字符串,然后倒序显示输出。(8分) 【答案】 s = input("请输入一个字符串:") reversed_s = '' index = len(s) - 1 while index >= 0: reversed_s += s[index] index -= 1 print(reversed_s) 【解析】 获取用户输入的字符串 s。 初始化 reversed_s 为空字符串,用于存储倒序后的字符串。 初始化 index 为字符串的最后一个字符的索引(len(s) - 1)。 使用 while 循环,条件为 index >= 0。 在循环体内,将 s[index] 的字符添加到 reversed_s 中。 每次循环后,index 减 1,确保从字符串末尾开始逐个字符处理。 循环结束后,打印 reversed_s,得到倒序后的字符串。 4.使用 while 循环语句,猜数字游戏,计算机随机产生一个 1 至 100 的整数,然后请用户输入一个此范围内的整数进行猜数字游戏,猜大了,就显示输出“猜大了”,并继续游戏猜数字,猜小了,就显示输出“猜小了”,并继续游戏猜数字,猜对了,就显示输出“猜对了”并退出循环,游戏结束,显示输出共猜了多少次才猜对。(10分) 【答案】 import random target = random.randint(1, 100) count = 0 while True: guess = int(input("请输入一个数字(1-100):")) count += 1 if guess > target: print("猜大了") elif guess < target: print("猜小了") else: print("猜对了") print(f"共猜了{count}次") break 【解析】 导入 random 模块,生成一个 1 至 100 之间的随机整数 target。 初始化 count 为 0,用于记录猜测次数。 使用 while True 创建无限循环。 在循环体内,提示用户输入一个数字,并将其转换为整数。 每次猜测后,count 增加 1。 比较用户输入的数字与 target: 如果猜大了,打印 "猜大了"。 如果猜小了,打印 "猜小了"。 如果猜对了,打印 "猜对了" 和猜测次数,然后使用 break 退出循环。 5.使用 while 循环语句,实现最大公约数计算,获得两个整数,求出这两个整数的最大公约数,并显示输出。(注:最大公约数的计算一般使用辗转相除法)(12分) 【答案】 def gcd(a, b): if a<b: a,b=b,a while a%b!=0: a, b = b, a % b return b num1 = int(input("请输入第一个整数:")) num2 = int(input("请输入第二个整数:")) print(f"最大公约数是:{gcd(num1, num2)}") 【解析】 定义一个函数 gcd,接受两个参数 a 和 b。 在函数内部,首先比较 a 和 b 的大小,确保 a 大于或等于 b。 使用 while 循环,条件为 a % b != 0。 在循环体内,使用辗转相除法:将 a 和 b 的值更新为 b 和 a % b。 当 a % b == 0 时,b 就是最大公约数,返回 b。 获取用户输入的两个整数 num1 和 num2。 调用 gcd 函数计算最大公约数,并打印结果。 学科网(北京)股份有限公司 $$

资源预览图

第3单元 程序中的逻辑关系《python程序编写入门》(高教版)章节过关卷(五)
1
第3单元 程序中的逻辑关系《python程序编写入门》(高教版)章节过关卷(五)
2
第3单元 程序中的逻辑关系《python程序编写入门》(高教版)章节过关卷(五)
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。