目录
选择题
7-1 最大公约数
7-2 指定范围内的素数
7-3 鸡兔同笼
判断题
1-1 不管是单层循环还是多层循环,只要执行到break语句,所有循环立即结束。(F)
1-2 在Python循环中,对于带有else子句的循环,如果因为执行了break语句而退出的话,会执行else子句的代码。(F)
1-3 在Python循环中,使用for i in range(10)
和 for i in range(10,20)
,控制循环次数是一样的。(T)
1-4 在循环结构中,break用来结束当前当次循环语句,但不跳出当前的循环体。(F)
1-5 无论while循环表达式判断结果是真是假,循环体至少执行一次。(F)
1-6 执行如下语句,程序陷入死循环状态。(T)
while True:
print("我爱学python")
1-7 while循环的判断条件可以是任何表达式,任何非零、或非空(null)的值均为True。(T)
1-8 在Python语言里,循环结构必须有else子句。(F)
1-9 在Python循环中,continue语句的作用是:退出循环的当前迭代,开启下一轮循环。(T)
选择题
2-1 以下程序的输出结果是:(A)
sum = 1.0
for num in range(1,4):
sum+=num
print(sum)
A.7.0
B.6
C.7
D.1.0
2-2 以下程序的输出结果是:(D)
cat =[“狮子”,“猎豹”,“虎猫”,“花豹”,“孟加拉虎”,“美洲豹”,“雪豹”]
for s in cat:
if “豹” in s:
print(s,end=' ')
continue
A.花豹
B.猎豹
C.雪豹
D.猎豹 花豹 美洲豹 雪豹
2-3 有如下代码:
while 4 == 4:
print('4')
以上代码输出的结果是?(C)
A.输出一次 4。
B.输出四次 4。
C.输出无数次4。
D.语法错误。
2-4 以下哪一项不是无限循环语句?(B)
A.
while True:
print("hello")
B.
while "123"==123:
print("hello")
C.
while "abc">"ABC":
print("hello")
D.
while 1<2:
print("hello")
2-5 如下猜数游戏中,横线处分别填写( D)
import random
num1=random.randint(1,100)
n=5
while n>0:
num=int(input())
if num<1 or num>100:
print("请输入1到100之间的整数")
__________
if num<num1:
print("猜小了")
elif num==num1:
print("猜对了")
__________
else:
print("猜大了")
n=n-1
print("游戏结束")
A.break break
B.break continue
C.continue continue
D.continue break
2-6 这个程序的输出结果为:
a=10
while a<4:
a=5
print(a)
请问程序的输出结果为:(A)
A.10
B.4
C.5
D.15
2-7 在一次聚会上,有10个人围成一圈做报数游戏,10个人分别按照1~10的顺序编号,已知小明的编号为7,下面的代码为报数的规则,那么当轮到小明报数时,小明需要说什么?(A)
number=7
while True:
number=number%6
if number==1:
print("我喝茶")
break
else:
print(number)
break
A.我喝茶
B.7
C.6
D.1
2-8 有两个人做猜数字游戏,只有7次猜的机会,如果其中一个人猜的数字比另一个人预设的数字大,则会得到反馈“猜大了”,如果猜的数字比预设数字小,则会得到反馈“猜小了”,猜中了会得到反馈“你赢了“,如果7次都没有猜中,则会得到反馈“你输了”。仔细阅读下面这段代码,小明猜的数字分别为:35 10 14 16 28 25 23,请问小明共有几次猜大,几次猜小,最终有没有猜对?(A)
count =1
a=2
b=4
while True:
number=a**2+b**2+a*b/2+a*b%2
guess=int(input())
if guess>number:
print("猜大了")
elif guess<number:
print("猜小了")
elif guess==number:
print("你赢了")
break
count=count+1
if count>10:
print("你输了")
break
A.没有猜对,猜大了3次,猜小了4次
B.猜对了,猜大了2次,猜小了3次
C.没有猜对,猜大了5次,猜小了2次
D.猜对了,猜大了1次,猜小了1次
2-9 下面程序中 ,i的循环终值是(A )。
A.9
B.10
C.11
D.以上都不对
编程题
7-1 最大公约数
分数 :20 作者:usx程序设计类课程组 单位:绍兴文理学院
求两个正整数m,n的最大公约数(Greatest Common Divisor,简称GCD)。要求定义一个函数求最大公约数。
输入格式:
首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试输入2个整数m,n(0<m,n<109)。
输出格式:
对于每组测试,输出m,n的最大公约数。
输入样例:
2
63 36
20 15
输出样例:
9
5
提示:
为避免超时,宜用高效的算法,例如欧几里德算法(辗转相除法)。
n=eval(input())
for i in range(0,n):
a,b=map(eval,input().split())
a,b=max(a,b),min(a,b)
while a%b!=0:
temple = a %b
a = b
b = temple
print(b)
i=i+1
7-2 指定范围内的素数
分数 :20 作者:python备课组 单位:福州大学至诚学院
编程实现输出指定范围内的素数,素数之间以空格间隔。指定范围由用户输入指定。
输入格式:
输入两个整数a,b(系统保证这两个整数大于等于2,小于等于10000,且a<=b),用逗号间隔。
输出格式:
输出[a,b]所有素数,素数之间用一个空格间隔。
输入样例:
100,150
输出样例:
101 103 107 109 113 127 131 137 139 149
a,b=map(eval,input().split(","))
for n in range(a,b+1):
for i in range(2,n):
if n%i==0:
break
else:
print(n,end=(" "))
7-3 鸡兔同笼
分数 :20 作者:python备课组 单位:福州大学至诚学院
鸡兔同笼问题,输入脚数,头数,输出鸡数和兔数。
输入格式:
输入两个以逗号分隔的整数,表示脚数和头数。
输出格式:
在一行输出鸡数和兔数,两个整数之间以空格分隔
输入样例:
在这里给出一组输入。例如:
94,35
输出样例:
在这里给出相应的输出。例如:
23 12
a,b=map(eval,input().split(","))
for n in range(0,a//2+1):
if 2*n+(b-n)*4==a:
print(f"{n} {b-n}")
break