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 条件 <执行>
语法2: 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