基本运算符及流程控制

运算符

#基本运算符
# 1.算术运算符
# +,-,*,/,//(取整),%(取余),**(幂指数)

# 2.链式赋值
# a=b=c=d=10
# print(f'a:{a},b:{b},c:{c},d:{d}')

# 3.交叉赋值
# x=10
# y=20
# temp=x
# x=y
# y=temp                    # 交叉方法一
# print(f'x:{x},y:{y}')
# x,y=y,x                   # 交叉方法二
# print(f'x:{x},y:{y}')
#
# # 3.解压缩
# name_list=['wq','qw','wwq']
# x=name_list[0]
# y=name_list[1]                 # 解压缩方式一
# z=name_list[2]
# print(f'x:{x},y:{y},z:{z}')    

# x,y,z=name_list                # 解压缩方式二
# print(f'x:{x},y:{y},z:{z}')   

# name_list = ['nick', 'egon', 'jason', 'tank']
# x, y, z, a =  name_list
# x, _, z, _ =  name_list
# print(x,z)

# name_list = ['nick', 'egon', 'jason', 'tank', 'kevin', 'jerry']
# x, y, _, _, _, z = name_list
# x, y, *_, z = name_list
# print(x,y,z)


# name= 'wq'
# height=180.67
# weight=135
# hobby_list=('read','write')
# print(f'{name} {height} {weight} {hobby_list}')          # 格式化输出一(f-string格式)

# print('{} {} {} {}'.format(name,weight,height,hobby_list))  #格式化输出二(format格式)

# print("%s,%s,%s,%s"%(name,weight,height,hobby_list))        #格式化输出三(%占位符格式)

流程控制

定义:python程序执行时,一定按照某中规律执行,宏观上,依上而下,顺序执行

if分支结构

'''
if 条件:
通缩进的代码
'''

1.所有分支都可以根据需求决定是否有else结构,else结构就是所有条件不满足才去执行的分支

2.elif可以根据需求出现多次(代码层次方面考虑条件的先后顺序)

#  if的嵌套
#  内部条件判断与否决定于外层条件
#  在任何结构(缩进下,需要条件判断就可以出现if分支结构

#具体案例如下:(飞行员选拔为例)

height = int(input("请输入你的身高: "))

if height <= 180 and height >= 175 :
    print('你的身高合格!')
    grade = int(input('笔试成绩: '))
    if grade >= 90 :
        print('笔试合格!')
        score = int(input('体能成绩: '))
        if score >= 90:
            print('恭喜入选!')
        else:
            print("你落选了!")
    else:
        print('你落选了!')
else:
    print('你落选了!')

请输入你的身高: 177
你的身高合格!
笔试成绩: 90
笔试合格!
体能成绩: 80
你落选了!

while循环

while 条件:
循环体

  1. 当条件满足时,会执行循环体,然后再去判断条件成功与否
  2. 如果还满足,重复1,2的过程
  3. 如果不满足,结束循环体

注:如果要结束循环,一定要让条件在某种情况下不满足

重点

  1. break:结束所属循环
  2. continue:结束所属循环的本次循环,进入下一次循环

难点:循环嵌套

#具体案例1
count = int(input('人数: '))
current_count=0
while current_count<count : #录入的人数不超过输入人数就应该正常循环
    grade = int(input('grade: '))
    if grade > 90:
        print('优秀')
        if input('体能测试')=='通过':
            print('进入国家队')
    elif grade>60:
         print('合格')
    else:
         print('开除')
    #录入结束后,代表已经录入一个,当前被录入的人数要+1
    current_count+=1       
         
人数: 2
grade: 90
合格
grade: 95
优秀
体能测试通过
进入国家队
#具体案例2(猜数字)
question=input('出题: ')
people=0
while people<5: 
    answer=input('回答:')
    if answer<question:
        print('猜小了!')
    elif answer>question:
        print('猜大了!')
    else:
        print("猜对了!")
        break                 #即一旦猜对数字就会立刻终止循环
    people+=1
#案例(需求:打印1~100之间所有7的倍数及包含7的数字)
#n%7==0,n%10==7,n//10==7

# n=1
# while n<101:
#     if n % 7== 0 or n % 10 == 7 or n // 10 == 7:
#         print(n,end=' ')
#     n=n+1

#取对立面
# n=1
# while n<101:
#     if n % 7 == 0 or n % 10 == 7 or n // 10 == 7:
#         n=n+1
#         continue  # continue如果满足,跳出本次循环,进入下一次循环
#     print(n,end=' ')
#     n+=1

了解:

  1. 死循环:不能主动结束的循环,想要结束只能通过break

  2. 0,"",[],{},None可以被while 及 if这种需要条件的关键词转换为False,其他都是True

  3. while...else...:else分支会在while循环正常结束(没有被break结束)时执行

for循环

# for循环(用来完成特定的循环需求)
#for 循环得到的结果 in 被循环的容器:

#1.第一次循环,循环得到的结果,就是被循环的容器中的第一个值
#2.再次循环,循环得到的结果会被重新赋值为被循环的容器中第二个值,以此类推
#3.当被循环的容器中的值 被 循环得到的结果全部赋值一遍后,循环自动结束

#range()函数:帮助创建一个容器(左包右舍)
#for a in range(1,5) a=1,2,3,4
#for a in range(1,10,2),其中2为步长, a=1,3,5,7,9

#1.for循环一般不考虑死循环(有无限个数的容器)
#2.for循环break结束for的所有循环
#3.for循环continue结束for的本次循环,进入for的下一次循环

#案例:九九乘法表
for a in range(1,10):
    for b in range(1,a+1):
        res ='%s*%s=%s'%(b ,a,a*b)
        print(res,end=' ')
    print()
posted @ 2019-05-05 16:36  wanjiang  阅读(138)  评论(0编辑  收藏  举报