当前位置:   article > 正文

PTA Python作业4循环结构_不管是单层循环还是多层循环,只要执行到break语句,所有循环立即结束。

不管是单层循环还是多层循环,只要执行到break语句,所有循环立即结束。

目录

判断题

单选题

编程题

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执行如下语句,程序陷入死循环状态。

  1. while True:
  2. print("我爱学python")

(T)

1-7while循环的判断条件可以是任何表达式,任何非零、或非空(null)的值均为True。(T)

1-8在Python语言里,循环结构必须有else子句。(F)

1-9在Python循环中,continue语句的作用是:退出循环的当前迭代,开启下一轮循环。(T)

1-10在循环中continue语句的作用是退出循环的当前迭代。(T)

单选题

2-1以下程序的输出结果是:

  1. sum = 1.0
  2. for num in range(1,4):
  3. sum+=num
  4. print(sum)

A.7.0

B.6

C.7

D.1.0

2-2以下程序的输出结果是:

  1. cat =[“狮子”,“猎豹”,“虎猫”,“花豹”,“孟加拉虎”,“美洲豹”,“雪豹”]
  2. for s in cat:
  3. if “豹” in s:
  4. print(s,end=' ')
  5. continue

A.花豹

B.猎豹

C.雪豹

D.猎豹 花豹 美洲豹 雪豹

2-3有如下代码:

  1. while 4 == 4:
  2. print('4')

以上代码输出的结果是?

A.输出一次 4。

B.输出四次 4。

C.输出无数次4。

D.语法错误。

2-4以下哪一项不是无限循环语句?

A.

  1. while True:
  2. print("hello")

B.

  1. while "123"==123:
  2. print("hello")

C.

  1. while "abc">"ABC":
  2. print("hello")

D.

  1. while 1<2:
  2. print("hello")

 2-5

如下猜数游戏中,横线处分别填写( )

  1. import random
  2. num1=random.randint(1,100)
  3. n=5
  4. while n>0:
  5. num=int(input())
  6. if num<1 or num>100:
  7. print("请输入1到100之间的整数")
  8. __________
  9. if num<num1:
  10. print("猜小了")
  11. elif num==num1:
  12. print("猜对了")
  13. __________
  14. else:
  15. print("猜大了")
  16. n=n-1
  17. print("游戏结束")

A.break break

B.break continue

C.continue continue

D.continue break

2-6这个程序的输出结果为:

  1. a=10
  2. while a<4:
  3. a=5
  4. print(a)

请问程序的输出结果为:

A.10

B.4

C.5

D.15

2-7在一次聚会上,有10个人围成一圈做报数游戏,10个人分别按照1~10的顺序编号,已知小明的编号为7,下面的代码为报数的规则,那么当轮到小明报数时,小明需要说什么?

  1. number=7
  2. while True:
  3. number=number%6
  4. if number==1:
  5. print("我喝茶")
  6. break
  7. else:
  8. print(number)
  9. break

A.我喝茶

B.7

C.6

D.1

2-8有两个人做猜数字游戏,只有7次猜的机会,如果其中一个人猜的数字比另一个人预设的数字大,则会得到反馈“猜大了”,如果猜的数字比预设数字小,则会得到反馈“猜小了”,猜中了会得到反馈“你赢了“,如果7次都没有猜中,则会得到反馈“你输了”。仔细阅读下面这段代码,小明猜的数字分别为:35 10 14 16 28 25 23,请问小明共有几次猜大,几次猜小,最终有没有猜对?

  1. count =1
  2. a=2
  3. b=4
  4. while True:
  5. number=a**2+b**2+a*b/2+a*b%2
  6. guess=int(input())
  7. if guess>number:
  8. print("猜大了")
  9. elif guess<number:
  10. print("猜小了")
  11. elif guess==number:
  12. print("你赢了")
  13. break
  14. count=count+1
  15. if count>10:
  16. print("你输了")
  17. 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的值是()

  1. count = 0
  2. while count<5:
  3. 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的最大公约数。

输入样例:

  1. 2
  2. 63 36
  3. 20 15

输出样例:

  1. 9
  2. 5

提示:

为避免超时,宜用高效的算法,例如欧几里德算法(辗转相除法)。

  1. n=eval(input())
  2. for i in range(0,n):
  3. a,b=map(eval,input().split())
  4. a,b=max(a,b),min(a,b)
  5. while a%b!=0:
  6. temple = a%b
  7. a = b
  8. b = temple
  9. print(b)
  10. i+=1
  11. '''n=eval(input())
  12. for i in range(0,n):
  13. a,b=map(eval,input().split())
  14. a,b=max(a,b),min(a,b)
  15. n=b
  16. while 1:
  17. if (a%n==0 and b%n==0):
  18. break
  19. else:
  20. n+=-1
  21. print(n)
  22. i+=1
  23. '''
  24. '''n=eval(input())
  25. for i in range(0,n):
  26. a,b=map(eval,input().split())
  27. a,b=max(a,b),min(a,b)
  28. while a%b!=0:
  29. temple = a-b
  30. a = b
  31. b = temple
  32. print(b)
  33. i+=1
  34. '''

7-2 指定范围内的素数

作者 python备课组

单位 福州大学至诚学院

编程实现输出指定范围内的素数,素数之间以空格间隔。指定范围由用户输入指定。

输入格式:

输入两个整数a,b(系统保证这两个整数大于等于2,小于等于10000,且a<=b),用逗号间隔。

输出格式:

输出[a,b]所有素数,素数之间用一个空格间隔。

输入样例:

100,150

输出样例:

101 103 107 109 113 127 131 137 139 149 
  1. a,b=map(eval,input().split(","))
  2. for n in range(a,b+1):
  3. for i in range(2, n):
  4. if n%i==0:
  5. break
  6. else:
  7. print(n,end=(" "))

7-3 鸡兔同笼

分数 20

全屏浏览题目

作者 python课程组

单位 福州大学至诚学院

鸡兔同笼问题,输入脚数,头数,输出鸡数和兔数。

输入格式:

输入两个以逗号分隔的整数,表示脚数和头数。

输出格式:

在一行输出鸡数和兔数,两个整数之间以空格分隔

输入样例:

在这里给出一组输入。例如:

94,35

输出样例:

在这里给出相应的输出。例如:

23 12
  1. a,b=map(eval,input().split(","))
  2. for n in range(0,a//2+1):
  3. if 2*n+(b-n)*4==a:
  4. print(f"{n} {b-n}")
  5. break

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/329206
推荐阅读
相关标签
  

闽ICP备14008679号