1、分支结构
作用
根据条件实现一些代码的执行与不执行,能够对代码进行控制执行
if语句
1.1、 单一条件分支
if 条件表达式:
print("为真")
#特点 只有条件为真才会走
1.2、 双向条件分支
if 条件表达式:
print("为真")
else:
print("为假")
#特点 条件是否成立都会走一个
1.3、 多向条件分支
if 条件表达式:
print("语句1")
elif 条件表达式:
print("语句2")
else:
print("语句三")
#特点 一级一级去判断
1.4、 if语句的简写
num = 5
print("hello" if num==5 else "world")
1 if 5>3 else 0
2、循环结构
2.1、 while循环
主体结构
while 条件: #如果条件为真就一直执行 也就是死循环
#循环体
搭配else
while :
pass
else:
pass
while的简写
flag = 1
while (flag<=3): print ('Lucky');flag+=1
2.2、 for循环
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
for i in range(5):
print(i)
else:
pass
2.3、 循环关键字
break #跳出当前分支结构 或 循环结构
continue #跳过本次循环 继续下一次循环
注意:
只有循环时正常循环结束的,才执行else,如果是使用了关键字break,则跳出循环,不再执行else。
3、实例
3.1、中奖的概率
import random
wining_num = int(input('请输入你的兑奖码(六位数兑奖码):'))
n = 0
if 100000 < wining_num < 999999:
while True:
n += 1
if wining_num == random.randint(100000, 999999):
print(n)
break
else:
print('请输入正确的兑奖码!')
3.2、求一个范围的偶数和奇数
min_num = int(input('请输入范围下限值:'))
max_num = eval(input('请输入范围上限值:'))
even_list = []
odd_list = []
for i in range(min_num, max_num + 1):
if i % 2 == 0:
even_list.append(i)
else:
odd_list.append(i)
print('范围{}到{}的偶数值为{}'.format(min_num, max_num, even_list))
print('范围{}到{}的奇数值为{}'.format(min_num, max_num, odd_list))
3.3、使用系统命令
import os
while True:
cmd = input('请输入需要执行的操作(记事本、进程、退出):')
if cmd == '记事本':
os.system('notepad')
elif cmd == '进程':
os.system('tasklist')
elif cmd == '退出':
break
else:
os.system('echo other')
3.4、淘汰某一行,淘汰某一列
row_Num = int(input('请输入需要淘汰的行数(1-9):'))
column_Num = int(input('请输入需要淘汰的列数(1-9):'))
for i in range(1, 10):
if i == row_Num:continue
for n in range(1, 10):
if n == column_Num:continue
print(n, end=' ')
print('第{}行'.format(i))
3.5、判断俩个数的大小 如果x>y 将俩个变量交换
x = 3
y = 1
if(x>y):
z = x
x = y
y = z
print(x,y)
不使用临时变量
我们也可以不创建临时变量,用一个非常优雅的方式来交换变量:
x,y = y,x
3.6、猜数字
num = 8
while True:
num1 = int(input('请输入你要猜的数字:'))
if num1 == num:
print('哎呀!好厉害呀!猜对了!')
break
elif num1 > num:
print('数字大了')
else:
print('数字小了')
3.7、99乘法表
for i in range(1, 10):
for j in range(1, i + 1):
print('{}x{}={}'.format(j, i, i*j), end='\t')
print()
3.8、把第几行第几列的数字改为x
row_Num = int(input('请输入需要替换的行数(1-9):'))
column_Num = int(input('请输入需要替换的列数(1-9):'))
replace_Str = input('请输入需要替换的字符:')
for i in range(1, 10):
for n in range(1, 10):
if n == column_Num and i == row_Num:
n = replace_Str
print(n, end=' ')
print('第{}行'.format(i))
3.9、登录
先判断用户,后判断密码
db_name = 'qingqing'
db_passwd = '123456'
while True:
user_name = input('请输入你要登录的用户名:')
while user_name != db_name and count_name < 2:
print('用户名输入还有{}次机会'.format(2 - count_name))
user_name = input('该用户名不存在,请重新输入:')
count_name += 1
if count_name == 2:break
user_passwd = input('请输入用户密码:')
while user_passwd != db_passwd and count_passwd < 2:
print('用户密码输入还有{}次机会'.format(2 - count_passwd))
user_passwd = input('用户密码错误,请重新输入:')
count_passwd += 1
if count_passwd == 2:break
if user_passwd == db_passwd and user_name == db_name:
print('欢迎登录成功!')
break
用户密码一起判断
db_name = 'qingqing'
db_passwd = '123456'
import random
count_num = 0
while count_num <= 2:
test_num = random.randint(1000, 9999)
print('验证码:{}'.format(test_num))
input_test_num = int(input('请输入验证码:'))
if input_test_num != test_num:
print('验证码输入错误!')
break
user_name = input('请输入你要登录的用户名:')
user_passwd = input('请输入你要登录的密码:')
if user_name == db_name:
if user_passwd == db_passwd:
print('欢迎登录成功!')
break
else:
print('请输入正确的密码')
else:
print('该用户不存在,请输入正确的用户')
count_num += 1
if 3 - count_num > 0:
print('还有{}次机会'.format(3 - count_num))
else:
print('登录次数使用完毕!')
3.10、动态传参-99乘法表
def mul_table_func(x=9):
for i in range(1, x + 1):
for j in range(1, i + 1):
print('{}x{}={}'.format(j, i, i*j), end='\t')
print()
3.11、实现类似pop函数的功能
def mypop(List):
remove_element = List[-1]
del List[-1]
return remove_element
3.12、实现类似popitem()函数的功能 删除最后一对键值对并返回
def my_popitem(Dict):
mydict_list = list(Dict.items())
remove_item = mydict_list[-1]
remove_keys = mydict_list[-1][0]
del Dict[remove_keys]
return remove_item
3.13、实现字典的键值交换
def keys_values_change(Dict):
new_dict = {}
for k in Dict:
new_dict[Dict[k]] = k
return new_dict