当前位置:主页 > 软件编程 > Python代码 >

python 循环结构练习题

时间:2022-08-01 10:47:12 | 栏目: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()

您可能感兴趣的文章:

相关文章