目录
判断题
单选题
编程题
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执行如下语句,程序陷入死循环状态。
while True:
print("我爱学python")
(T)
1-7while循环的判断条件可以是任何表达式,任何非零、或非空(null)的值均为True。(T)
1-8在Python语言里,循环结构必须有else子句。(F)
1-9在Python循环中,continue语句的作用是:退出循环的当前迭代,开启下一轮循环。(T)
1-10在循环中continue语句的作用是退出循环的当前迭代。(T)
单选题
2-1以下程序的输出结果是:
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以下程序的输出结果是:
cat =[“狮子”,“猎豹”,“虎猫”,“花豹”,“孟加拉虎”,“美洲豹”,“雪豹”]
for s in cat:
if “豹” in s:
print(s,end=' ')
continue
A.花豹
B.猎豹
C.雪豹
D.猎豹 花豹 美洲豹 雪豹
2-3有如下代码:
while 4 == 4:
print('4')
以上代码输出的结果是?
A.输出一次 4。
B.输出四次 4。
C.输出无数次4。
D.语法错误。
2-4以下哪一项不是无限循环语句?
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
如下猜数游戏中,横线处分别填写( )
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.10
B.4
C.5
D.15
2-7在一次聚会上,有10个人围成一圈做报数游戏,10个人分别按照1~10的顺序编号,已知小明的编号为7,下面的代码为报数的规则,那么当轮到小明报数时,小明需要说什么?
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,请问小明共有几次猜大,几次猜小,最终有没有猜对?
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.9
B.10
C.11
D.以上都不对
2-10下面代码中循环结束后,count的值是()
count = 0
while count<5:
count +=2
A.6
B.5
C.4
D.0
编程题
7-1 最大公约数
作者 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+=1
'''n=eval(input())
for i in range(0,n):
a,b=map(eval,input().split())
a,b=max(a,b),min(a,b)
n=b
while 1:
if (a%n==0 and b%n==0):
break
else:
n+=-1
print(n)
i+=1
'''
'''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+=1
'''
7-2 指定范围内的素数
作者 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课程组
单位 福州大学至诚学院
鸡兔同笼问题,输入脚数,头数,输出鸡数和兔数。
输入格式:
输入两个以逗号分隔的整数,表示脚数和头数。
输出格式:
在一行输出鸡数和兔数,两个整数之间以空格分隔
输入样例:
在这里给出一组输入。例如:文章来源:https://www.toymoban.com/news/detail-728784.html
94,35
输出样例:
在这里给出相应的输出。例如:文章来源地址https://www.toymoban.com/news/detail-728784.html
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
到了这里,关于PTA Python作业4循环结构的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!