Python之for循环

for循环格式:

for i(变量名) in range(n):
    循环体中内容
range(n):0开始取值到n-1结束
range(start,stop):[start,stop)
range(start,stop,step):默认从start(包含)开始取值到stop(不包含)结束,其中步长由step决定,默认step为1
for i in range(3):
    print(i)
print('-' * 30)
for i in range(6, 10):
    print(i)
print('-' * 30)
for i in range(4, 10, 2):
    print(i)
print('-' * 30)
# 1-50的累加和
sum = 0
for i in range(1, 51):
    sum += i
print(sum)

练习

输入用户名和密码,最多输入三次,如果三次没有成功,提示账号被锁定。

for i in range(1, 4):
    # 提示输入用户名和密码
    id = input('用户名:')
    pawd = input('密码:')
    # 判断输入的是否正确
    if id == 'admin' and pawd == '123abc':
        print('登录成功')
        break
    elif (id != 'admin' or pawd != '123abc') and 1 <= i <= 2:
        print('用户名或密码错误,请重新输入\n如果三次没有成功,账号会被锁定,您还有%d次机会\n\n' % (3 - i))
    else:
        print('账号被锁定')

for…else循环格式:

for i in range(n):
    循环体
else:
    如果for循环0-n-1没有出现中断(breakfor...else
while...else
注意else的特点:不被中断,才会执行

“”"

练习

输入用户名和密码,最多输入三次,如果三次没有成功,提示账号被锁定。

for i in range(1, 4):
    # 提示输入用户名和密码
    id = input('用户名:')
    password = input('密码:')
    # 判断输入的是否正确
    if id == 'admin' and password == '123abc':
        print('登录成功')
        break
    print('用户名或密码错误,请重新输入\n如果三次没有成功,账号会被锁定,您还有%d次机会\n\n' % (3 - i))
else:
    print('账号被锁定')

总结

for i in range(n):    --->肯定有固定次数
    pass
while 条件:  ---> 1.固定次数的循环 2.不确定次数的循环
    pass
不确定次数的循环
while True:
    pass

练习

掷骰子
两个:1-6
1.玩游戏要有金币
2.玩游戏增金币1枚,充值获取金币
3.10元的倍数,20个金币
4.玩游戏,消耗金币,一局5个
5.猜大小:猜对有鼓励金币2枚,猜错没有奖励 超出6点以上认为是大,否则为小
6.游戏结束:①主动退出②没有金币退出
7.只要退出则打印金币数,共玩了几局

import random
goldnum = 0
i = 0

while goldnum < 5:
    isCharge = input('金币不足,5元10个金币且充值金额必须为5的倍数,请选择是否要充值金币:充值(y)、不充值(n)')
    if isCharge == 'y':
        chargeNum = int(input('请输入要输入的充值金额'))
        if chargeNum % 5 != 0:
            print('充值金额必须为10的倍数,请重新输入')
        else:
            goldnum += chargeNum * 2
            print('充值成功,您现在的剩余金币为%d个' % goldnum)
            # 玩游戏
            playGames = input('是否玩掷骰子游戏:是(y)否(n)')
            while goldnum >= 5 and playGames == 'y':
                guess = input('掷色子两次,超出6点以上认为是大,否则为小,请猜一下是大还是小')
                # 随机生成骰子数
                ran1 = random.randint(1, 6)
                ran2 = random.randint(1, 6)
                # 判断比较
                if ran1 + ran2 > 6 and guess == '大' or ran1 + ran2 <= 6 and guess == '小':
                    print('猜对了,奖励两个金币,并再送你一个金币')
                    goldnum = goldnum - 5 + 3
                    i += 1
                else:
                    print("猜错啦,只能送你一个金币了")
                    goldnum = goldnum - 5 + 1
                    i += 1
                playGames = input('是否继续玩掷骰子游戏:是(y)否(n)')
            print('您目前金币数为%d,共玩了%d局' % (goldnum, i))
    else:
        print('充值失败,退出游戏')
        break
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值