python学习第一天(循环)

while循环

基本形式:
while 判断条件:
执行语句
else:
while循环结束后执行该语句(非break语句引起)

eg:(一个判断用户名和用户密码的简单程序)

# edited by Lyu 
#仅供学习使用,禁止一切商业用途

passname="Lyu Zhiyu"
password="Lyu123"
count=3

while count>0:
    _passname=input("enter your passname:")
    _password=input("enter your passsword:")
    if password==_password and passname==_passname:
        print("congratulations!")
        print("WELCOME,", passname, "!")
        break
    else:
        print(f"passname or password invalid!\nyou have only {count-1} chances.")
    count-=1
else:
    print("Your chance has run out!!\nTry late again.")

运行结果1:(三次全错)

enter your passname:jak
enter your passsword:af
passname or password invalid!
you have only 2 chances.
enter your passname:af
enter your passsword:afa
passname or password invalid!
you have only 1 chances.
enter your passname:af
enter your passsword:faf
passname or password invalid!
you have only 0 chances.
Your chance has run out!!
Try late again.

运行结果2:(输入正确)

enter your passname:Lyu Zhiyu
enter your passsword:Lyu123
congratulations!
WELCOME, Lyu Zhiyu !

进程已结束,退出代码为 0

使用while循环较为直观,但是需要自己计数,有较多的判断语句。


for循环

基本形式:
for i range (循环次数): #循环次数也可看作i执行完循环后的数字大小
执行语句
else:
for循环结束后执行该语句(非break语句引起)

eg:(第一个小程序改为for循环后)

# edited by Lyu
#仅供学习使用,禁止一切商业用途

passname="Lyu Zhiyu"
password="Lyu123"
COUNT=2                       #取补集计数
for i in range (3):
    _passname=input("enter your passname:")
    _password=input("enter your passsword:")
    if password==_password and passname==_passname:
        print("congratulations!")
        print("WELCOME,", passname, "!")
        break
    else:
        print(f"passname or password invalid!\nyou have only {COUNT-i} chances.")
else:
    print("Your chance has run out!!\nTry late again.")

运行结果同while循环。

值得注意的是,for循环采用了正序计数,要输出剩余次数,需要设置一个计数常量。
本人尝试采用for循环倒序计数:
将for i in range (3):改为for i in range (3,0):以避免设置计数常量,但是结果非所愿:

Your chance has run out!!
Try late again.

出现上述结果。

若有大神知道原因欢迎指出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

superior tigre

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值