一、判断语句

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)