Python之while循环(综合练习)
while循环综合练习
1.用户登陆
需求:
用while循环实现:
用户登录需求:
1.输入用户名和密码;
2.判断用户名和密码是否正确(name='root',passwd='westos')
3.登录仅有三次机会,超过3次会报错
代码:
print('欢迎来到用户登陆界面'.center(50,'*'))
# 记录登陆次数
trycount = 0
while trycount<3:
# 接收用户输入的用户名和密码
user = input('用户名:')
passwd = input('密码:')
# 每输入一次登陆次数便加1
trycount += 1
# 判断用户名是否正确
if user == 'root':
# 判断密码是否正确
if passwd == 'westos':
print('登陆成功')
# 登陆成功则退出系统
break
else:
print('登陆失败,密码错误!')
# 总的次数为3,剩余次数即为(3-登陆次数)
print('你还有%s次机会' %(3-trycount))
else:
print('登陆失败,该用户不存在!')
print('你还有%s次机会' %(3-trycount))
else:
print('很抱歉,三次机会已经使用完,无法再继续登陆')
运行结果:
2.猜数字游戏
需求:
猜数字游戏:
1.系统随机生成一个1~100的数字;
2.用户共有5次机会猜;
3.如果用户猜测数字大于系统给出的数字,打印"too big"
4.如果用户猜测数字小于系统给出的数字,打印"too small"
5.如果用户猜测的数字等于系统给出的数字,打印"恭喜中奖",并退出循环
代码:
# 导入生成随机数的模块
import random
print('欢迎来到猜数字游戏'.center(50,'*'))
# 生成1-100的随机数
num = random.randint(1,100)
i = 1
# 循环5次
while i <= 5:
nums = int(input('请输入你猜的数字:'))
# 每输入一次数字,计数器加1
i += 1
# 判断是否中奖
if nums > num:
print('too big')
elif nums < num:
print('too small')
else:
print('恭喜中奖')
break
else:
print(' 很遗憾,5次机会已经用完,无法继续游戏')
运行结果:
补充:
while...else... 表示当语句体中有 break,return或者异常发生时,则不会执行else中的语句体,余情况下都会执行else中的语句体