1、条件语句
#语法:
if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
else:
<执行4>
if 语句执行有个特点,它是从上往下判断,如果在某个判断上是 True,把该判断对应的语句执行后,就忽略掉剩下的 elif 和 else
当 if 有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and 和 or 的优先级低于>(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与或要优先判断。
逻辑运算符:
True、False
or、and、not
例:if (num >= 0 and num <= 5) or (num >= 10 and num <= 15)
==、>、<、>=、<=、!=、<>
2、循环语句
for 循环
for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
语法1:
for 条件
<执行>
for 条件
<执行>
else
<执行>
'''
for 中的语句和普通的没有区别
else 中的语句会在循环正常执行完
(即 for 不是通过 break 跳出而中断的)的情况下执行
while … else 也是一样。
'''
例子:
# 例1
for letter in 'Python': # 第一个实例
print('当前字母 :', letter)
fruits = ['banana', 'apple', 'mango']
for fruit in fruits: # 第二个实例
print('当前水果 :', fruit)
'''
当前字母 : P
当前字母 : y
当前字母 : t
当前字母 : h
当前字母 : o
当前字母 : n
当前水果 : banana
当前水果 : apple
当前水果 : mango
'''
# 例2
_user = 'hjc'
_pass = '123'
for i in range(4):
username = input("username:")
password = input("password:")
if username == _user and password == _pass:
print("welcome...", username)
break
else:
print("invalid username or password")
else: # 只要上面的 for 循环执行完毕,才执行 else 下的内容
print("too many times retries")
# 例3
fruits = ['banana', 'apple', 'mango']
for index in range(len(fruits)):
print('当前水果 :', fruits[index])
# 例4
for num in range(1, 6):
print(num)
else:
print('done')
'''
1
2
3
4
5
done
'''
while 循环
语法1:只要条件满足,就不断循环,条件不满足时退出循环。
while 判断条件:
执行语句。。。
语法2:只要条件满足,就不断循环,条件不满足时执行 else: 下的语句。
while 判断条件:
执行语句。。。
else:
执行语句。。。
sum = 0
n = 99
while n > 0:
sum = sum + n
n = n - 2
print(sum)
# 在循环内部变量n不断自减,直到变为-1时,不再满足while条件,循环退出。
3、循环控制语句
break
表示跳出循环的层数,如果省略n表示跳出整个循环
例1:
for letter in 'Python':
# First Example
if letter == 'h':
break
print('Current Letter :', letter)
# Current Letter : h
例2:
var = 10
while var > 0:
print('Current variable value :', var)
var = var - 1
if var == 5:
break
'''
Current variable value : 10
Current variable value : 9
Current variable value : 8
Current variable value : 7
Current variable value : 6
'''
continue
表示退到第n层继续循环,如果省略n表示跳过本次循环,忽略本次循环的剩余代码,进入循环的下一次循环
# 第一个实例
for letter in 'Python':
if letter == 'h':
continue
print('当前字母 :', letter)
'''
当前字母 : P
当前字母 : y
当前字母 : t
当前字母 : o
当前字母 : n
'''
# 第二个实例
var = 10
while var > 0:
var = var - 1
if var == 5:
continue
print('当前变量值 :', var)
'''
当前变量值 : 9
当前变量值 : 8
当前变量值 : 7
当前变量值 : 6
当前变量值 : 4
当前变量值 : 3
当前变量值 : 2
当前变量值 : 1
当前变量值 : 0
'''
pass
不做任何事情,只起到占位的作用
for letter in 'Python':
if letter == 'h':
pass
print('这是 pass 块')
print('当前字母 :', letter)
'''
当前字母 : P
当前字母 : y
当前字母 : t
这是 pass 块
当前字母 : h
当前字母 : o
当前字母 : n
'''
4、条件语句练习
题1:
# 提示输入用户名和密码
# 验证用户名和密码
# 如果错误,则输出用户名或密码错误
# 如果成功,则输出 欢迎,XXX!
import getpass
name = input('请输入用户名:')
pwd = getpass.getpass('请输入密码:')
if name == "alex" and pwd == "cmd":
print("欢迎,alex!")
else:
print("用户名和密码错误")
题2:
# 根据用户输入内容打印其权限
# alex --> 超级管理员
# eric --> 普通管理员
# tony,rain --> 业务主管
# 其他 --> 普通用户
name = input('请输入用户名:')
if name == "alex":
print("超级管理员")
elif name == "eric":
print("普通管理员")
elif name == "tony" or name == "rain":
print("业务主管")
else:
print("普通用户")
题3:
# 猜年龄
age_of_princal = 56
guess_age = input("your input:")
if guess_age.isdigit():
guess_age = int(guess_age)
if guess_age == age_of_princal:
print("yes")
elif guess_age > age_of_princal:
print("you input is large")
else:
print("you input is smaller")
else:
print("you input is no num")
5、循环语句练习
a.使用while循环实现辅出2-3+4-5+6…+100的和
count = 1
s = 0
while count <= 10:
if count % 2 == 0:
s += count
else:
s -= count
count += 1
print(s)
b.使用while循环实现输出1,2,3,4,5,7,8,9,11,12
count = 1
while count <= 10:
if count == 6 or count == 10:
pass
else:
print(count)
count += 1
c.使用while循环输出10-5,从大到小,如10,9,8…,到5时再从0循环输出到5然后结束
count = 10
while count >= 5:
print(count)
count -= 1
if count == 4:
count1 = 0
while count1 <= 5:
print(count1)
count1 += 1
d.使用while循环实现输出1-100内的所有奇数
e.使用while循环实现输出1-100内的所有偶数
count = 10
while count <= 10:
if count % 2 != 0:
print(count)
count += 1