Python学习第四天学习写的小案例(主要是针对 分支/循环的学习)
Python学习第四天学习写的小案例 (2019/07/17)
-
第一题:使用while循环输出1 2 3 4 5 6 8 9 10
程序代码:
s = 0 while s<10: if s==6: s += 1 # 当数字为7的时候输出一个空格出来 print(end=' ') continue s += 1 print(s,end=' ')
运行结果:
1 2 3 4 5 6 8 9 10
-
第二题: 求1-100的所有数的和
程序代码:
count = 0 for i in range(101): count += i print("1-100的所有数的和为:",count)
运行结果:
1-100的所有数的和为: 5050
-
第三题:输出1-100内所有奇数
程序代码:
for i in range(1,100,2): print(i,end=' ')
运行结果:
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99
-
第四题:输出1-100内所有偶数
程序代码:
for i in range(2,101,2): print(i,end=' ')
运行结果:
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100
-
第五题:求1-2+3-4+5...99的所有数的和
程序代码:
count = 0 for i in range(100): if i%2==0: count -= i else: count += i print(count)
运行结果:
50
-
第六题:用户登录(三次机会重试)
程序代码:
num = 0 while num < 3: account = input('请输入账号:') if account == 'admin': print("登陆成功!") break else: print('账号输入错误,请重新输入!') num +=1 if num==3: print("三次机会已用完!")
运行结果:
请输入账号:abc
账号输入错误,请重新输入!
请输入账号:admi
账号输入错误,请重新输入!
请输入账号:admin
登陆成功! -
第七题:猜年龄游戏
要求如下:
允许用户最多尝试3次,3次都没猜对的话,就直接退出,如果猜对了,打印恭喜信息并退出
程序代码:
import random # 随机生成一个年龄age age = random.randint(0,100) num = 0 while num<3: age_guess = int(input("请输入你猜测的年龄:")) if age_guess>age: print("猜大了,请重新猜一个比这个小的数!") num +=1 elif age_guess<age: print("猜小了,请重新猜一个比这个大的数!") num += 1 else: print("恭喜你猜对啦!") num=0 break if num==3: print("三次机会已用完,游戏结束!")
运行结果:
三次全错:
请输入你猜测的年龄:36
猜小了,请重新猜一个比这个大的数!
请输入你猜测的年龄:6
猜小了,请重新猜一个比这个大的数!
请输入你猜测的年龄:5
猜小了,请重新猜一个比这个大的数!
三次机会已用完,游戏结束!猜对情况:
请输入你猜测的年龄:85
恭喜你猜对啦! -
第八题:猜年龄游戏 (升级版)
要求如下:
允许用户最多尝试3次
每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此 往复,如果回答N或n,就退出程序如果猜对了,就直接退出
程序代码:
import random as r num = 0 age = r.randint(0,100) while num<3: guess_age = int(input("请输入你猜测的年龄:")) if guess_age>age: print("猜错啦,你猜大了!") elif guess_age<age: print("猜错啦,你猜小了!") else: print("恭喜您,猜对啦!游戏结束") break num +=1 if num==3: choose = input("您已猜错超过三次,请问是否再次猜!继续请输入(Y/y),退出请输入(N/n):") if choose=='Y' or choose == 'y': num = 0 elif choose == 'N' or choose == 'n': print("您已选择退出游戏") break else: print("您的选择有误,已强制退出游戏") break
运行结果:
请输入你猜测的年龄:50
猜错啦,你猜大了!
请输入你猜测的年龄:25
猜错啦,你猜大了!
请输入你猜测的年龄:12
猜错啦,你猜小了!
您已猜错超过三次,请问是否再次猜!继续请输入(Y/y),退出请输入(N/n):y
请输入你猜测的年龄:18
猜错啦,你猜小了!
请输入你猜测的年龄:21
恭喜您,猜对啦!游戏结束 -
第九题:for 循环打印99乘法表
程序代码:
for i in range(1,10): for j in range(1,i+1): print(f'{j}*{i}={i*j}',end=' ') print()
运行结果:
1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
-
第十题:for 循环打印金字塔:效果如下
* *** ***** ******* *********
程序代码:
for i in range(1,10,2): print(f'{"*"*i:^9}')
运行结果:
* *** ***** ******* *********
进阶版金字塔(可自由输入层数):
程序代码:
layer = int(input("请输入你要打印的金字塔的层数:")) num = 1 for i in range(layer): floor = "*"*(i+num) print(floor.center(layer*2-1,' ')) num+=1
运行结果:
请输入你要打印的金字塔的层数:7 * *** ***** ******* ********* *********** *************