阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

案列:流程控制练习案例

101次阅读
没有评论

共计 3455 个字符,预计需要花费 9 分钟才能阅读完成。

一、中奖的概率

判断一个数需要随机多少次才能中奖,打印随机次数

import random num = 432 # for i in range(100,500): i = 0 while True: Winning = random.randrange(100,500) # 产生一个区间范围的随机数 i+=1 if num == Winning: print("中奖了 中奖号码是 {}".format(num)) break print(i)

二、求一个范围的 偶数 基数

# 求偶数 for i in range(1,101): if(i%2==0): print(i) # 等同于 for i in range(1,101): if i%2==1: continue print(i) # 求基数 for i in range(1,101): if(i%2!=0): print(i)

三、淘汰某一行

打印 0 - 9 数字 [5 除外],共打印 8 次:

  • 淘汰外循环的第五次输出
  • 内循环输出 0 1 2 3 4 6 7 8 9
for i in range(8): if i == 5:# 淘汰某一行 continue for j in range(10): if j==5: # 淘汰某一列 continue print(j, end=" ") print(' ')

四、判断俩个数的大小

判断俩个数的大小,如果 x >y 将俩个变量交换

x = 3 y = 1 if(x>y): z = x x = y y = z print(x,y)
不使用临时变量

我们也可以不创建临时变量,用一个非常优雅的方式来交换变量:

x,y = y,x

五、猜数字

num2 = 10.1 while True: try: num = eval(input("请输入你要猜的数字")) if num == num2: print("您猜的真准") break elif num>num2: print("您输入的数字太大了") else: print("您输入的数字太小了") except: print("请输入正确的数字")

六、三角形

(1)、for 实现左侧正三角形
# 左侧正三角形 for j in range(1,10): for i in range(1,j+1): print(i,end='') print('')
(2)、for 实现右侧正三角形
# 右侧正三角形 for j in range(1,10): for x in range(1,10-j): print('',end='') for i in range(1,j+1): print(i,end='') print('')
(3)、for 实现左侧倒三角形
# 左侧倒三角形 mylist = list(range(1,10)) mylist.reverse() for j in mylist: for i in range(1,j+1): print(i,end='') print('')
(4)、for 实现右侧倒三角形
# 右侧倒三角形 mylist = list(range(1,10)) mylist.reverse() print(mylist) for j in mylist: for x in range(1,10-j): # 输出空格 print('',end='') newlist = list(range(1,j+1)) newlist.reverse() for i in newlist: print(i,end='') print('')
(5)、while 实现左侧正三角形
#while 三角形 左正三角形 j = 1 while j<=9: i = 1 while i<=j: print(i,end='') i+=1 j+=1 print('')
(6)、while 实现右侧正三角形
# 右侧正三角形 j = 1 while j<=9: k = 1 while k<=9-j: print('',end='') k+=1 i = j while i>=1: print(i,end='') i-=1 j+=1 print('')
(7)、while 实现左侧倒三角形
# 左侧倒三角形 j = 9 while j>=1: i = 1 while i<=j: print(i,end='') i+=1 j-=1 print('')
(8)、while 实现右侧倒三角形
# 右侧倒三角形 j = 9 while j>=1: k = 1 while k<=9-j: print('',end='') k+=1 i = j while i>=1: print(i,end='') i-=1 j-=1 print('')

七、猜 21 点游戏

import random,time user1 = input('请输入玩家 1 的名称') user2 = input('请输入玩家 2 的名称') # 存储赢的次数的字典 user_info = {user1:{'win':0},user2:{'win':0}} while True: computer1_num = random.randint(1, 10) computer2_num = random.randint(1, 10) # 获取俩个用户想要输入的数字 user1_num = input('{}: 请输入一个数字 ( 按 q 退出游戏)'.format(user1)) user2_num = input('{}: 请输入一个数字 ( 按 q 退出游戏)'.format(user2)) # 如果有人输入了 q 则代表结束 if user1_num == 'q' or user2_num == 'q': print('欢迎下次在玩') break user1_sum = int(computer1_num) + int(computer2_num) + int(user1_num) user2_sum = int(computer1_num) + int(computer2_num) + int(user2_num) print('底牌数字为:',computer1_num,computer2_num) if abs(user1_sum-21) > abs(user2_sum-21): print('{}: 点数为:{} {}: 点数为:{} 结果:{} 获胜'.format(user1,user1_sum,user2,user2_sum,user2)) user_info[user2]['win'] += 1 else: print('{}: 点数为:{} {}: 点数为:{} 结果:{} 获胜'.format(user1, user1_sum, user2, user2_sum, user1)) user_info[user1]['win'] += 1 print('计算机正在重新洗牌') time.sleep(2)

八、登录

用户登陆验证系统

dbUserName = 'admin' dbUserPass = '123456' while True: loginName = input('请输入用户名') # 动态获取用户名 loginPass = input('请输入密码') # 动态获取用户输入的密码 state = 1 # 给一个用户名的状态值 默认为 1 if loginName != dbUserName: # 判断用户名是否不存在 print("该用户名不存在") state = 2 if state == 1: # 判断用户名的状态值 如果为 1 证明 用户名正确 所以该判断下面的密码了 if dbUserPass == loginPass: # 判断密码是否正确 print('欢迎',loginName) break else: print("请输入正确的密码") # 作业:加上验证码 验证码的要求 随机数 (不能每次都是一样的) dbUserName = 'admin' dbUserPass = '123456' while True: loginName = input('请输入用户名') # 动态获取用户名 loginPass = input('请输入密码') # 动态获取用户输入的密码 if loginName == dbUserName: # 判断用户名是否和之前已经注册过的用户名相同 (有人就是该用户是否存在) if loginPass == dbUserPass:# 如果用户名正确 判断密码是否正确 print("欢迎",loginName) break #r 如果密码正确跳出循环体 else: print("请输入正确的密码") else: print("该用户不存在!请输入正确的用户名") print("我是登录成功以后的内容")

九、阶乘

通过用户输入数字计算阶乘

# 通过用户输入数字计算阶乘 # 获取用户输入的数字 num = int(input("请输入一个数字:")) factorial = 1 # 查看数字是负数,0 或 正数 if num < 0: print("抱歉,负数没有阶乘") elif num == 0: print("0 的阶乘为 1") else: for i in range(1,num + 1): factorial = factorial*i =1*1*2*3*4 print("%d 的阶乘为 %d" %(num,factorial))

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-05-26发表,共计3455字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中