前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >案列:流程控制练习案例

案列:流程控制练习案例

作者头像
星哥玩云
发布2022-09-08 12:06:54
4150
发布2022-09-08 12:06:54
举报
文章被收录于专栏:开源部署

一、中奖的概率

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

代码语言:javascript
复制
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)

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

代码语言:javascript
复制
#求偶数
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
代码语言:javascript
复制
for  i  in  range(8):
    if i == 5:#淘汰某一行
        continue
    for j  in  range(10):
        if j==5:  #淘汰某一列
            continue
        print(j, end=" ")
    print(' ')

四、 判断俩个数的大小

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

代码语言:javascript
复制
x = 3
y = 1
if(x>y):
    z = x
    x = y
    y = z
print(x,y)
不使用临时变量

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

代码语言:javascript
复制
x,y = y,x

五、猜数字

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

六、三角形

(1)、for实现左侧正三角形
代码语言:javascript
复制
#左侧正三角形
for j in range(1,10):
    for i in range(1,j+1):
        print(i,end='')
    print('')
(2)、for实现右侧正三角形
代码语言:javascript
复制
#右侧正三角形
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实现左侧倒三角形
代码语言:javascript
复制
#左侧倒三角形
mylist = list(range(1,10))
mylist.reverse()
for j in mylist:
    for i in range(1,j+1):
        print(i,end='')
    print('')
(4)、for实现右侧倒三角形
代码语言:javascript
复制
#右侧倒三角形
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实现左侧正三角形
代码语言:javascript
复制
#while三角形  左正三角形
j = 1
while j<=9:
    i = 1
    while i<=j:
        print(i,end='')
        i+=1
    j+=1
    print('')
(6)、while实现右侧正三角形
代码语言:javascript
复制
#右侧正三角形
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实现左侧倒三角形
代码语言:javascript
复制
#左侧倒三角形
j = 9
while j>=1:
    i = 1
    while i<=j:
        print(i,end='')
        i+=1
    j-=1
    print('')
(8)、while实现右侧倒三角形
代码语言:javascript
复制
#右侧倒三角形
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点游戏

代码语言:javascript
复制
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)

八、 登录

用户登陆验证系统

代码语言:javascript
复制
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("我是登录成功以后的内容")

九、 阶乘

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

代码语言:javascript
复制
# 通过用户输入数字计算阶乘
 
# 获取用户输入的数字
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))
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、中奖的概率
  • 二、求一个范围的 偶数 基数
  • 三、淘汰某一行
  • 四、 判断俩个数的大小
  • 五、猜数字
  • 六、三角形
  • 七、猜21点游戏
  • 八、 登录
  • 九、 阶乘
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档