zoukankan      html  css  js  c++  java
  • python循环语句

    循环语句:

    1、 While循环

      格式:

        While 条件:

          条件成立执行的部分

        Else:

          跟while是一起的,当while循环没有被break中断,执行的代码块

      步骤:

        1、判断条件

        2、执行循环体

        3、判断循环

        4、执行循环体

      避免死循环:

        1、改变条件

        2、在循环体中设置结束条件 

      代码:

    # 验证用户名和密码三次
    # 声明变量
    count = 1
    while count <= 3:
        username = input('输入用户名:')
        password = input('输入密码:')
        # 变量和运算符构成判断条件  (admin 123456)
        if username == 'admin' and password == '123456':
            print('登录成功!')
            break  # break 整个循环结构
        else:
            print('用户名或者密码有误!')
            # 方式一
            # if count == 3:
            #     print('账户锁定!')
        # 改变计数器
        count += 1
    # 方式二
    if count == 4:
        print('账户锁定!')

    2、for循环

    ① 格式:每循环一次去序列的值,将赋值变量i

      for i in 序列:

        循环体的内容 

    ② 代码:

    names = ['zhangsan', 'lisi', 'wnagwi']
    for name in names:
         print(name)

    3、跳转语句:

        break    可以在循环过程中直接退出循环
        continue  提前结束本轮循环,并直接开始下一轮循环

      它们经常配合if语句使用

      注意:不要滥用break和continue语句。这两个语句会造成代码执行逻辑分叉过多,容易出错。可以通过修改循环条件或修改循环逻辑,去掉break和continue语句。

    4、数据类型

    1-字符串:

      场景:

        截取字符串

        判断字符串中的某一部分

      知识点:

        切片  

    # 1.切片
    s = 'abcdefg'
    
    #下标  索引 index  角标
    print(s[0])
    print(s[1])
    print(s[2])
    print(s[3])
    
    # 切片格式:   字符串[start:[stop:[step]]]
    # s = 'abcdefg'
    print(s[4:])  # 表示从4开始一直到结尾
    print(s[-5:])  # cdefg
    
    # step除了有步长功能,还有控制方向
    print(s[::-1])  # gfedcba   

        运算符

        内置的字符串方法:find()  rfind()  index()  rindex()

        find() index() 功能类似,只不过在没有找到元素,find返回-1,index报错ValueError

     5、习题 

      1-猜数游戏:

      
    print('----------猜猜乐-----------')
    score = 0
    while True:
        number = 3
        # 1. 产生数字
        guess_number = random.randint(1, 20)
        # 可以循环猜3次
        for i in range(3):
            # 2. 猜数字
            guess = int(input('系统随机数产生完毕,请猜数字:'))
            # 3. 判断随机数与猜的数字之间关系
            if guess > guess_number:
                print('猜大了,再下一点就离成功很近了...')
                number -= 1
            elif guess < guess_number:
                print('猜小了,没准大一点就对了....')
                number -= 1
            else:
                print('binggo~~,你太幸运了,猜对了!')
                score += number
                break
        else:
            print('这一局有点背,没准再来一局就赢。。。')
    
        answer = input('是否继续猜猜乐?(yes/no)')
        if answer != 'yes':
            print('欢迎下次再来~~~~~')
            break
    print('最后积分是:', score)
    猜数游戏

      2-掷骰子

      
    掷骰子
    
     1. 欢迎进入xxxx游戏
     2. 输入用户名,默认用户是没有币
     3. 提示用户充值买币(100块钱30币,充值必须是100的倍数,充值不成功可以再次充值)
     4. 玩一局游戏扣除2个币,猜大小(系统用随机数模拟骰子产生值)
     5. 只要猜对了奖励1个币,可以继续玩(想不想继续玩,也可以没有金币自动退出)
     6. 每玩完3局奖励金币5个币依次类推
    '''
    import random
    dice = '掷骰子'
    count = 0
    print('---------掷骰子--------')
    while True:
        print('欢迎进入{}游戏!'.format(dice))
        username = input('请输入用户名:')
        for i in range(3):
            money = int(input('想玩游戏请先充值(100块钱30币,充值必须是100的倍数),请输入充值额数:'))
            if money % 100==0 and money>=100:
                money = money/100*30
                print('充值成功!!!当前的游戏币是:', money)
                answer = input('是否开始游戏?y/n:')
                if answer=='y':
                    print('游戏开始了!')
                    while True:
                        a = random.randint(0, 6)
                        b = int(input('请输入您猜的骰子的大小:'))
                        count+=1
                        if a==b:
                            money = money + 1
                            print('恭喜您猜中了,您的money是:{}'.format(money))
                            if count % 3 == 0:
                                money += 5
                                print('没进行三局游戏奖励您5枚游戏币!您的游戏币为:{}'.format(money))
                        elif money<2:
                            print('对不起,您没钱了,想玩请继续充值!88')
                            break
                        else:
                            money -=2
                            print('您的运气还差点,您的money是:{}'.format(money))
                            if count % 3 == 0:
                                money += 5
                                print('每进行三局游戏奖励您5枚游戏币!您的游戏币为:{}'.format(money))
                else:
                    print('再见!!欢迎下次光临。。')
                break
            else:
                print('充值不成功!!!')
        break
    丢骰子游戏

      3-简易版跳一跳

      
    # 简易版跳一跳,通过随机数表示跳一跳的长度,如果随机数是能被5和3整除的则长度加倍
    #  如果随机数是0则表示gameover。结束的时候打印跳了多少步,一共多少次
    import random
    import time
    
    step = 0  # 步数
    num = 0  # 次数
    
    while True:
        i = random.randint(0, 10)
        time.sleep(random.randint(0, 1))
        if i == 0:
            print('game over')
            break
        elif i % 5 == 0 or i % 3 == 0 and i != 0:
            step += (i * 2)
            num += 1
            print('步数翻倍,本次跳了%d步,总步数:%d' % (i*2, step))
        else:
            num += 1
            step += i
            print('本次跳了%d步,总步数:%d' % (i, step))
    print('跳了%d步,跳了%d次' % (step, num))
    简易版跳一跳
    一路独行,遇见最好的自己!!!
  • 相关阅读:
    c++ 有序二叉树的应用
    c++ 二叉树的遍历
    c++ 创建二叉树
    c++ 双向链表 的查找和删除
    c++ 双向循环链表
    c++ 双向链表
    Jzoj4209 已经没有什么好害怕的了
    Jzoj4209 已经没有什么好害怕的了
    后缀自动机转后缀树模板
    后缀自动机转后缀树模板
  • 原文地址:https://www.cnblogs.com/rungang/p/11246598.html
Copyright © 2011-2022 走看看