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))
    简易版跳一跳
    一路独行,遇见最好的自己!!!
  • 相关阅读:
    单例模式
    HashSet、LinkedHashSet、SortedSet、TreeSet
    ArrayList、LinkedList、CopyOnWriteArrayList
    HashMap、Hashtable、LinkedHashMap
    andrew ng machine learning week8 非监督学习
    andrew ng machine learning week7 支持向量机
    andrew ng machine learning week6 机器学习算法理论
    andrew ng machine learning week5 神经网络
    andrew ng machine learning week4 神经网络
    vue组件监听属性变化watch方法报[Vue warn]: Method "watch" has type "object" in the component definition. Did you reference the function correctly?
  • 原文地址:https://www.cnblogs.com/rungang/p/11246598.html
Copyright © 2011-2022 走看看