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))
简易版跳一跳

 

posted @ 2019-07-25 20:01  刚--  阅读(218)  评论(0编辑  收藏  举报