python 循环结构练习题

1、求两个数最大公约数

num1 = int(input('请输入第一个数:'))
num2 = int(input('请输入第二个数:'))
max_num = max(num1, num2)
min_num = min(num1, num2)
r = max_num % min_num
while r != 0:
    max_num = min_num
    min_num = r
    r = max_num % min_num
print(num1, "和", num2, "的最大公约数为", min_num)

2、整数反转:如12345,输出54321

#1
num1 = input('请输入一个数:')
lenth = len(num1)
a = []
for i in num1:
    a.append(i)
a.reverse()    #使列表反转
str1 =''
for i in a:
    str1 += i
print(int(str1))

#2
number_new=num1[::-1]     #切片
print(number_new)

#3
new_num = 0
num1 = int(num1)
while num1 :
   #对num1求余数,第一次循环则把个位求出来
   last = num1 % 10
   #new_num这个变量,第一次将last放在个位,第二次放在十位,依次递增。
   new_num = new_num * 10 + last
   #对num1求余后取整,保证下一位在下一个循环被取出
   num1=num1 // 10
print(new_num)

3、1~10之间的整数相加,得到累加值大于20的当前数

for i in range(21):
   for j in range(21):
      if i + j > 20 and c:
         print('{} + {} = {}'.format(i,j,i+j))

4、输入从周一至周五每天的学习时间(以小时为单位),并计算每日平均学习时间。

b = ['周一','周二','周三','周四','周五']
sum = 0
for i in range(5):
   a = int(input(f'{b[i]}的学习时间:'))
   sum += a
pingjun = sum / 5
print("平均学习时间:",pingjun)

5、输出10000以下的完全数

如果一个正整数等于除它本身之外其它所有除数之和,就称之为完全数。

如6就是第一个完全数,因为6=1+2+3

for i in range(1,1000):
   sum = 1
   for j in range(1,i):
      if i % j == 0:
         sum += j

   if sum == i:
      print(f"{i}是完全数")

6、用户玩游戏

每次玩5局(效果图如下) (1)不足5局则不能晋级 (2)在5局游戏中,如果80%达到80分以上,为一级,如果 60%达到80分以上为二级,否则不能晋级

c = []
a = int(input('你正在玩第一局,成绩为:'))

c.append(a)
for i in range(4):
   b = input('继续玩吗(y,n):')
   if b == 'y':
      print('进行下一局')
      a = int(input(f'你正在玩第{i+2}局,成绩为:'))
      c.append(a)
   else:
      print('很遗憾,你没能完成游戏')
      break
sum = 0
for i in c:
   if i >= 80:
     sum += 1
if sum / len(c) >= 0.8:
   print('一级')
elif sum / len(c) >= 0.6:
   print('二级')
else:
   print('不能晋级')

7、菜单自动循环

只要不输入3,就循环 欢迎进入xxx系统 1登录 2注册 3退出 请选择:1 登录

a = True
while a:
   print('欢迎进入学生管理系统')
   print('1登录 2注册 3退出 ')
   num = int(input('请选择:'))
   if num == 3:
      print("退出系统")
      a = False
   elif num == 1:
      print('恭喜登录成功')
   elif num == 2:
      print('恭喜注册成功')

8、打印图形

1
21
321
4321
54321
654321

for i in range(1,7):
   for j in range(i):
      print(i-j,end='')
   print()

到此这篇关于python 循环结构练习题的文章就介绍到这了,更多相关python 循环结构简单练习题内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(python 循环结构练习题)