python中条件循环需要提前确定循环次数吗_python学习笔记-(三)条件判断和循环...

1.条件判断语句

Python中条件选择语句的关键字为:if 、elif 、else这三个。其基本形式如下:

age_of_cc = 27

age = int(input("guessage:"))

if age == age_of_cc:

print("Yes,you got it!")

elif age > age_of_cc:

print("猜大啦!")

else:

print("猜小啦!")

if语句执行的特点是从上往下判断;

其中elif和else语句块是可选的。对于if和elif只有判断为True时,该分支语句才执行,只有当if和所有的elif的判断都为False时,才执行else分支。注意Python中条件选择语句中判断后面有个冒号。

2.循环语句

2.1 while循环

他的原理是:当条件为真的时候运行,当条件为假的时候停止!

没有一个规定次数,不设置条件永远循环下去。

用法:

while 条件:

xxxxxx

while循环判断语句代码示例:

age_of_cc = 27

count =0

while count < 3:

age = int(input("guessage:"))

if age == age_of_cc:

print("Yes,you got it!")

break

elif age > age_of_cc:

print("猜大啦!")

else:

print("猜小啦!")

count += 1

else:

if count == 3:

print("错误太多次啦!")

2.1.1 break跳出整个循环

代码示例

age_of_cc = 27

count =0

while count < 3:

age = int(input("guessage:"))

if age == age_of_cc:

print("Yes,you got it!")

break

elif age > age_of_cc:

print("猜大啦!")

else:

print("猜小啦!")

count += 1

else:

if count == 3:

print("错误太多次啦!")

2.1.2 continue跳过当前循环

代码示例:

i = 1

while i < 10:

i += 1

if i%2 > 0: # 非双数时跳过输出

continue

print(i) # 输出双数2、4、6、8、10

2.2 for循环

for循环需要预先设定好循环的次数(n),然后执行隶属于for的语句n次。

代码示例:

for i in range(10):

print(i) #输出0 1 2 3 4 5 6 7 8 9

for条件判断代码示例:

age_of_cc = 27

count = 0

for i in range(3):

age = int(input("guessage:"))

if age == age_of_cc:

print("Yes,you got it!")

break

elif age > age_of_cc:

print("猜大啦!")

else:

print("猜小啦!")

count += 1

else:

if count == 3:

print("错误太多次啦!")

3 其他

3.1 input

input是输入函数,用户可以输入字符串保存到变量中

代码示例:

name = input("Please input your name")

3.2 print

用print()在括号中加上字符串,就可以向屏幕上输出指定的文字

代码示例:

print("Hello!")

3.3 类型转换

通过上文可以看出,input输入的在python中都会被认为是字符串(见下图),所以我们需要对input的内容进行类型转换:

转换成int示例:

age = int(input("age is:"))

转换回字符串:str()

4.练习

登录接口开发:

1.输入用户名密码

2.错误三次即锁定用户

3.登陆成功则显示欢迎信息

# author:cc

import sys, os, getpass

count = 0# 计数器

if os.path.exists('user.txt'):# 判断用户文件是否存在

pass

else:

print("Sorry!")

while count < 3:#登录异常不超过三次就不断循环

username = input("请输入用户名:")#输入用户名

with open('lockuser.txt','r+') as f:#输入用户名后检查是否在锁定文件中

lock_file = f.readlines()#读取文件内容

for lock_line in lock_file:#遍历锁定文件

lock_line = lock_line.strip('\n')#使用strip函数分割文件

if username in lock_line:#判断用户名是否在锁定文件中,若被锁定则直接退出程序

sys.exit("用户%s已被锁定,请联系管理员解锁" % username)

else:

pass

with open('user.txt','r+') as u:

user_file = u.readlines()#读取用户文件

for user_line in user_file:#遍历用户文件

(user,password)= user_line.strip('\n').split()#获取用户名和密码

if username == user:

pwd = 0 #密码计数

while pwd < 3:#只要用户密码异常不超过三次就一直循环

passwd = getpass.getpass("请输入密码:") #输入暗文显示密码

if passwd == password:#如果用户名密码匹配,则提示登录成功

print("欢迎用户%s进入管理平台..." % username)

sys.exit(0)

else:#用户名密码不匹配提示密码错误,剩余几次机会;密码错误次数+1

print("%s密码错误,您仅剩%s次机会,请注意!" % (username,2-pwd))

pwd += 1

else:#错误三次后写入lock_file文件

with open('lockuser.txt', 'r+') as fw:

fw.write(username + "\n")

print("用户%s登录达到最大次数,已被锁定,请联系管理员处理。。。" % username)

break

else:

pass

else:#用户名不存在时计入错误次数

print("用户%s不存在,请重新输入,您还有%s次机会" % (username,2-count))

count += 1

if count == 3:#错误三次时提示没有机会了

print("没有机会啦~!")

else:

print("用户%s不存在,退出。。。" % username)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值