if嵌套语法
age = 18
height = 165
weight = 100
is_beautiful = True
is_success = True
if age < 26 and height >= 165 and weight <= 100 and is_beautiful:
print('好看')
if is_success:
print('。。。')
else:
print('变态!!!')
else:
print('不漂亮')
小练习
1. 做一个用户登录功能,用户名:chengzi,密码:123
# 要求:用户名和密码都输入正确,打印来宾三位,否则:提示用户名或者密码错误
# 1. 接收用户输入的用户名
# 2. 接收用户的密码
# 3. 比较用户名和密码是否正确
# name='chengzi'
# pwd='123'
# name=input('请输入用户名》》:')
# pwd=input('请输入用户密码》》:')
# if name=='chengzi'and pwd =='123':
# print('男宾一位')
# else:
# print('来找茬的')
2. 根据用户名的不同,打印不同的身份
# while True:
# name=input('请输入用户名》》》》:')
# if name=='chengzi':
# print('管理员')
# elif name =='chengcheng':
# print('司机')
# elif name =='zhu':
# print('保安')
# elif name =='%s'%name:
# print('非内部人员')
循环结构
关键字:while
while True:
username = input('请输入你的用户名:')
password = input('请输入你的密码:')
if username == 'chenzi' and password == '123':
print('登录成功')
else:
print('登录失败')
while+break
while True:
username = input('请输入你的用户名:')
password = input('请输入你的密码:')
if username == 'chengzi' and password == '123':
print('登录成功')
break # 跳出本层循环
else:
print('登录失败')
# count += 1
break跳出本层循环的含义
while True:
username = input('请输入你的用户名:')
password = input('请输入你的密码:')
if username == 'chengzi' and password == '123':
print('登录成功')
####### 让用户继续输入它要执行的指令,用户输入完指令之后,打印正在执行某个指令
while True:
cmd = input('请输入你要执行的指令:')
if cmd == 'q':
# 结束程序
break
print('正在执行你的指令:%s' % cmd) # 当用户输入q的时候,结束程序
break
else:
print('登录失败')
标志位的使用 flag = True while flag: username = input('请输入你的用户名:') password = input('请输入你的密码:') if username == 'chegzi' and password == '123': print('登录成功') ####### 让用户继续输入它要执行的指令,用户输入完指令之后,打印正在执行某个指令 while flag: cmd = input('请输入你要执行的指令:') if cmd == 'q': # 结束程序 flag = False print('正在执行你的指令:%s' % cmd) # 当用户输入q的时候,结束程序 else: print('登录失败')
练习题
"""
猜年龄的游戏:
1. 普通要求:
只能猜三次,三次猜不对,直接结束程序
2. 拔高要求:
如果输错三次,程序不要结束,询问用户是否继续猜,yes/no,如果输入yes就继续让用户猜,否则直接结束程序.
"""
# 定义一个计数器
count = 0
while count < 3:
# 2. 让用户去输入猜测的年龄值
guess_age = input('请开始猜年龄:')
guess_age = int(guess_age)
# 3. 把用户输入的年龄跟我们定义好的年龄比较
if guess_age > age:
print('猜大了')
count += 1
elif guess_age < age:
print('猜小了')
count += 1
else:
print('恭喜猜对了!')
break
# 1. 定义一个年龄
age = 19
count = 0
while True:
"""当count==3的时候,说明已经猜错3次了,询问是否还继续猜?"""
if count == 3:
cmd = input('你已经猜错三次了,是否还继续猜: (yes/no)')
if cmd == 'yes':
# 继续猜
count = 0
else:
print('下次再来玩')
break
guess_age = input('请开始猜年龄:')
guess_age = int(guess_age)
if guess_age > age:
print('猜大了')
count += 1
elif guess_age < age:
print('猜小了')
count += 1
else:
print('恭喜猜对了!')
break
while+continue
1. 练习题:使用while循环打印出0-10之间的数字 count = 0 while count < 10: print(count) count += 1 2. 练习题:使用while循环打印出0-10之间的数字, 但是不打印6 count = 0 while count < 10: if count == 6: count += 1 # 不打印 continue # 跳出while循环的本次循环 --------------- 本层 print(count) count += 1
while+else
count = 0
while count < 5:
if count == 3:
break
print(count)
count += 1
else:
print('哈哈哈')
"""else: 当while循环中没有被中断(break)的时候会走else语句"""
死循环
# 程序中坚决不能出现死循环 count = 0 while True: print(count) count+=1 """如果一旦出现了死循环,CPU的利用率会极速拉满,导致其他程序也不能用,甚至于关机"""
for循环
"""for循环不会出现死循环,它的循环条件不是我们来控制,是人家内部已经控制好了"""
for循环和while循环都是用来重复一个事情的,for循环能够实现的功能,while循环都可以实现
for循环的语法结构更加简洁,它不容易出现死循环,所以,推荐以后能够使用for循环的都使用for循环
"""
可迭代对象:字符串、列表、字典、元组等,能够支持for循环的对象都是可迭代对象
for循环的语法格式:
for 变量名 in 可迭代对象:
pass
"""
'''字典暴露的是字典的key'''
d = {'username': 'jerry', 'age': 18}
for i in d:
print(i, d[i]) # username age
range关键字
### 三种用法
1. 方式1
for i in range(10): # 生成一个从0开始到9的数字
print(i)
for i in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]:
print(i)
2. 方式2
for i in range(3, 10): # 生成一个从3开始到9的数字列表
print(i)
3. 方式三
for i in range(0, 250, 25): # 第三个参数代表的是步长
print(i)
"""练习题:使用for循环生成这10页的地址"""
https://movie.douban.com/top250?start=0&filter= # 第一页
https://movie.douban.com/top250?start=25&filter= # 第二页
https://movie.douban.com/top250?start=50&filter= # 第三页
https://movie.douban.com/top250?start=75&filter= # 第四页
https://movie.douban.com/top250?start=100&filter= # 第五页
https://movie.douban.com/top250?start=225&filter= # 最后一页
base_url = 'https://movie.douban.com/top250?start=%s&filter='
for i in range(0, 2500, 25):
# print(base_url % i)
print('https://movie.douban.com/top250?start=%s&filter=' % i)
for+break
for i in range(10): if i == 6: break print(i)
for+continue
for i in range(10): if i == 6: continue print(i)
for+else
'''跟while循环的用法一样,中间如果有中断程序,else就不在走了'''
for i in range(10):
if i == 6:
break
print(i)
else:
print('hahh ')
for循环的嵌套
for i in range(3):
for j in range(5):
print("*", end='')
print() # print()表示换行
浙公网安备 33010602011771号