python day04循环练习
1、求两个数最大公约数
代码如下:
a=int(input('请输入一个数:'))
b=int(input('请输入一个数:'))
if a>b:
min=b
else:
min=a
for i in range (1,min+1):
if(a%i==0)and (b%i==0):
c=i
print(f'这两个数的最大公约数为:{c}')
结果:
请输入一个数:20
请输入一个数:30
这两个数的最大公约数为:10
2、实现整数反转:如12345,输出54321
代码如下:
num=int(input('请输入你想反转的数:'))
while True:
yu=num%10
print(yu,end='')
num=num//10
if num==0:
break
结果:
请输入你想反转的数:205
502
3、1~10之间的整数相加,得到累加值大于20的当前数
代码如下:
sum = 0
for i in range(1,11):
sum = sum + i
if sum>20:
print(i)
break
结果:
6
4、输入从周一至周五每天的学习时间(以小时为单位),并计算每日平均学习时间。
代码如下:
sum = 0
for i in range(1,6):
hours = int(input(f'请输入星期{i},您的学习时间:'))
sum = sum + hours
aver = sum / 5
print(f'您这个星期每日的平均学习时间为:{aver}小时')
运行结果如下:
请输入星期1,您的学习时间:4
请输入星期2,您的学习时间:5
请输入星期3,您的学习时间:10
请输入星期4,您的学习时间:9
请输入星期5,您的学习时间:6
您这个星期每日的平均学习时间为:6.8小时
5、输出10000以下的完全数。如果一个正整数等于除它本身之外其它所有除数之和,就称之为完全数。 如6就是第一个完全数,因为6=1+2+3
代码:
for i in range(1, 10000):
sum = 0
for j in range(1, i):
if i % j == 0:
sum += j;
if sum == i:
print(i)
结果:
6
28
496
8128
6、用户玩游戏,每次玩5局(效果图如下) (1)不足5局则不能晋级 (2)在5局游戏中,如果80%达到80分以上,为一级,如果 60%达到80分以上为二级,否则不能晋级。
代码:
count = 0
for i in range(1,6):
score = int(input('请输入你本局成绩:'))
b = input(f'你正在玩第{i}局游戏,成绩为:{score}\n是否继续(yes/no)')
if b == 'yes':
if score > 80:
count += 1
else:
print('您已退出游戏')
break
else:
print('游戏结束')
if count >=4:
print('恭喜通过一级')
elif count ==3:
print('恭喜通过二级')
else:
print('抱歉。未晋级')
7、菜单自动循环,只要不输入3,就循环 欢迎进入xxx系统 1登录 2注册 3退出 请选择:1 登录
代码:
answer = input(9 * '*'+'菜单功能'+9 * '*'+'\n\t\t1.登录\n\t\t2.注册\n\t\t3.退出\n请选择功能:')
while True:
while answer == '1':
user = input('登录\n账号:')
pwd = input('密码:')
if user == '1503938233' and pwd == '123456':
print('登录成功')
answer = input(9 * '*' + '菜单功能' + 9 * '*' + '\n\t\t1.登录\n\t\t2.注册\n\t\t3.退出\n请选择功能:')
else:
print('账号密码有错,请重新输入!')
while answer == '2':
print('2.注册\n注册成功')
answer = input(9 * '*' + '菜单功能' + 9 * '*' + '\n\t\t1.登录\n\t\t2.注册\n\t\t3.退出\n请选择功能:')
while answer == '3':
print('你已退出系统!')
break
break
结果:
*********菜单功能*********
1.登录
2.注册
3.退出
请选择功能:1
登录
8、打印图形 1 21 321 4321 54321 654321
代码:
for i in range(1,7):
print(' ' * 2 * (6 - i), end='')
for j in range(i, 0, -1):
print(j, end=" ")
print()
结果:
1
2 1
3 2 1
4 3 2 1
5 4 3 2 1
6 5 4 3 2 1