一、判断语句
1、if条件判断语句单分支
注意:if和else后面需要加上一个冒号、if和else语句下面的一行需要默认空一个tab键
name = input('请输入您的用户名:')
if name == 'admin':
print('管理员')
else:
print('普通用户')
num = 5
if num > 5:
print('美女')
else:
print('帅哥')
三目运算 :只适用于if条件判断语句的单分支
a = 6
if a >= 6:
print("ok")
else:
print("no")
name = input('请输入您的用户名:')
print('在成都') if name == 'duoceshi' else print('在深证')
# 等同于以下代码
name = input('请输入您的用户名')
if name == 'duoceshi':
print('在成都')
else:
print('在深证')
dict1 = {'name':'xiaowang','age':18}
# contains:包含 判断class是否包含在dict1字典内
if dict1.__contains__('class') is True:
print(dict1)
else:
dict1['class'] =2008
print(dict1)
# 以上代码的三目运算
dict1 = {'name':'xiaowang','age':18}
print(dict1) if dict1.__contains__('class') is True else dict1.setdefault('class',2008)
print(dict1)
2、if条件判断语句多分支
name = input('请输入您的用户名:')
if name == 'admin':
print('管理员上线')
elif name == 'dcs8':
print('VIP用户上线')
elif name == '张三':
print('穷人上线')
else:
print('普通用户上线')
pwd = input("请输入账号:")
if pwd == "艾欧尼亚":
print("恭喜45号机来自‘艾欧尼亚’的大神")
elif pwd == "皮城女警":
print("恭喜46号机来自‘皮城女警’的大神")
elif pwd == "班德尔城":
print("恭喜47号机来自‘班德尔城’的大神")
elif pwd == "巨神峰":
print("恭喜48号机来自‘巨神峰’的巨神坑")
else:
print("恭喜菜鸟上线")
3、if 嵌套语句
登录功能实战练习:
通过输入函数输入用户名、先判断用户名是否正确,用户名正确则进行密码的判断,如果用户名错误则提示:用户错误、请重新输入,密码错误则提示:您输入的密码有误、请重新输入,密码输入正确则登录成功
# username:admin
# password:123456
username = input('请输入您的用户名:')
if username == 'admin':
password = input('请输入您的密码:')
if password == '123456':
print('登陆成功')
else:
print('你输入的密码有误,请重新输入')
else:
print('用户错误、请重新输入')
user1 =input("请输入用户名:")
if user1 == "admin":
pwd = input("请输入您的密码:")
if pwd =="123456":
yzm = input("请输入您的验证码:")
if yzm == "abc":
print("登录成功")
else:
print("验证码错误,登录失败")
else:
print("密码错误,登录失败")
else:
print("输入的用户名错误,登录失败")
二、while循环语句
while什么时候进入循环? 当循环条件成立时,进入循环
while什么时候退出循环? 当循环条件不成立时,退出循环
注意:在写while循环语句时一定要让循环条件发生变化,否认会陷入死循环中
1、while 死循环
a = 1 # 定义变量
sum = 0 # 定义一个接受参数的变量(求和)
while a <= 6:
sum += a
print("当前循环第:%d"%a)
2、while 跳出死循环
a = 0
sum = 0
while a <= 6:
sum += a
a+= 1 # 退出循环条件
print("当前循环第:%d"%a) # print打印语句在while循环里面,会打印每一次的循环结果
print("当前循环第:%d"%a) # print打印语句在while循环外,则打印最后一次
3、通过while循环语句求出1-100的和
a = 1
sum = 1
while a<=100:
sum += a
a += 1
print("1-100的求和为:%d" %sum)
print("1-100的求和为:%d"%sum)
4、通过while循环语句求出1-100中的奇数之和
a = 1
sum = 0
while a<= 100:
sum +=a
a +=2
print ("1-100的奇数只和为:%d"%sum) # 打印结果为:2500
5、通过while循环语句求出1-100中的偶数之和(包含100)
a = 0
sum = 0
while a<= 100:
sum +=a
a +=2
print("1-100的偶数只和为:%d"%sum) # 打印结果为:2550
6、通过while循环语句求出1-100中的奇数和偶数之差
a = 0 # 定义一个变量来控制循环次数
jishu = 0 # 定义一个奇数来接受取余后的奇数只和
oushu = 0 # 定义一个偶数来接受取余后的偶数只和
while a<= 100:
if a % 2 == 0:
oushu += a
else:
jishu += a
a +=1
g = jishu-oushu
print("1-100中的奇数和偶数之差为:%d"%g) # 打印结果为:-50
三、for循环语句
1、range()函数 遍历一个数字序列,python中内建的函数range 一般和for循环一起用
range(5) # 打印0到5,不包含5
range(1,5) # 打印1到5,不包含5
range(1,5,2) # 打印1到5,间2位取,不包含5
2、for循环的语法格式如下
for i in range(10): # 遍历当前0—10 这个数的所有
print(i) # 运行结果为:0 1 2 3 4 5 6 7 8 9
print(i,end=' ') # 运行结果为:0 1 2 3 4 5 6 7 8 9
注:加上 ,end=' ' 打印方式为横向输出
for i in range(1,12): # 遍历包含开头,不含结束
print(i,end=' ') # 运行结果为:1 2 3 4 5 6 7 8 9 10 11
for i in range(4,10):
print(i,end=' ') # 运行结果为:4 5 6 7 8 9
for i in range(1,10,2): # 隔位取值 隔位取值最小为1
print(i,end=' ') # 运行结果为:1 3 5 7 9
for i in range(10,0,-2): # 隔位取值 隔位取值最小为1
print(i,end=' ') # 运行结果为:10 8 6 4 2
3、用for循环求出1—100的和
sum = 0
for i in range(1,101):
sum += i
print("1—101的和为:%d"%sum) # 运行结果为 5050
4、用for循环求出1—100的奇数和
sum = 0
for i in range(1,101,2):
sum += i
print("1—101的和为:%d"%sum) # 运行结果为 2500
5、for 可以去遍历的对象:字符串、字典、列表、元组、集合
5.1、for循环遍历字符串
str ="hello" # 定义一个变量为str,参数为字符串 hello
for i in str:
print(i,end=' ') # 运行结果为:h e l l o
print(type(i)) # 运行结果为<type 'str'> 查看类型为:字符串
5.2、for循环遍历列表
lis1 = [1,4,2,3,5,"text"]
for i in lis1:
print(i,end=' ') # 运行结果为:1 4 2 3 5 text
print(type(lis1)) # 运行结果为<type 'list'> 查看类型为:列表
5.3、for + range函数循环遍历列表
lis1 = [1,4,2,3,5,"text"]
for i in range(len(lis1)): # len 长度函数
print(i) # 运行结果为:0 1 2 3 4 5
5.4、for循环遍历元组
tuple1 = (1,4,2,3,5,"text")
for i in tuple1:
print(i,end=' ') # 运行结果为:1 4 2 3 5 text
5.5、用for循环遍历字典
字典就是以键值对的方式呈现 键:key 值:value
在字典里键是唯一的 值不唯一
dic1 = {"name":"zhangsan","age":"18"}
print(dic1) # 运行结果为:{'age': '18', 'name': 'zhangsan'}
print(type(dic1)) # 运行结果为:<type 'dict'> 类型为:dict 字典
for k,v in dic1.items(): # items( ) 显示键值对函数
print(k,v) # 运行结果为:age 18 name zhangsan
5.6、遍历集合
test = 'hello'
set1 = set(test)
for i in set1:
print(i,end=' ')
注意点:不能被遍历
num = 123
for i in num:
print(i) # TypeError: 'int' object is not iterable int整形不能被迭代
练习
用for循环打印出字符串 duocesi每个字符以及对应的字符索引值、并且格式化输出
str1 = 'duoceshi'
for i in str1:
print('%s对应的索引值为%d'%(i,str1.index(i)))
四、continue语句
用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。
list = [1,2,3,4,5,6,7,8,]
for i in list:
if i == 4:
continue
print(i) # 运行结果为:1 2 3 5 6 7 8
for i in range(10):
if i == 6:
continue
print(i,end=' ') # 0 1 2 3 4 5 7 8 9
五、break语句
语句是会立即退出循环,在其后边的循环代码不会被执行。
list = [1,2,3,4,5,6,7,8,]
for i in list: # 通过for遍历
if i == 5: # 设定遍历的值
break # 终止退出
print(i) # 运行结果为:1 2 3 4
for i in range(10):
if i == 6:
break
print(i)