Python学习(二)

每日一悟:一个人的心如果澄净了,就日日是好日,夜夜是清宵。

一、流程与流程控制

  1. 流程:就是计算机执行代码的顺序。
  2. 流程控制:对计算机代码执行的顺序进行有效的管理,只有流程控制才能实现在开发中的业务逻辑。
  3. 流程控制的分类:
    (1)顺序流程:代码自上而下的执行结构,也是Python默认的流程。
    (2)选择(分支)流程:根据在某一步的判断,有选择的去执行相应的逻辑的一种结构。
    a.单分支:
    if条件表达式:
    一条条的编程语句
    一条条的编程语句
    一条条的编程语句
    b.双分支:
    if条件表达式:
    一条条的编程语句
    一条条的编程语句
    else:
    一条条的编程语句
    一条条的编程语句
    c.多分支:
    if条件表达式:
    一条条的编程语句
    一条条的编程语句
    elif条件表达式:
    一条条的编程语句
    一条条的编程语句
    elif条件表达式:
    一条条的编程语句
    一条条的编程语句
    ………
    else:
    一条条的编程语句
    一条条的编程语句
    一条条的编程语句

条件表达式:比较运算符/逻辑运算符/复合的运算符
3)循环流程:在一定的条件下,一直重复的去执行某段代码的逻辑(事情)。
While 条件表达式:
一条条的编程语句
一条条的编程语句
……
for …in 可迭代集合对象
一条条的编程语句
一条条的编程语句

二、选择流程

  1. Python的条件语句是通过一条或者多条语句的执行结果(True或Fales)来决定执行的代码块。
    (1)单分支
    if 条件表达式:
    代码指令
score=60
	if score<=60:
	print("成绩不是很理想,要加油!")
pass #空语句
print("运行结束")

(2)双分支
if 条件表达式:
代码指令
else:
代码指令

if score>60:
     print("成绩合格!")
     pass #空语句
 else:
     print("您的成绩不合格,请继续努力")
     pass

(3)多分支
if 条件表达式:
代码指令
elif 条件表达式:
代码指令

else:
特征:1.只需满足一个分支,就会突出本层if语句结构【必定会执行一个分支】
2.至少有俩种情况可以选择
elif后面必须写上条件和语句
else是选配,根据实际情况来写

score=int(input("请输入你的成绩:"))
 if score>90:
    print("优秀")
    pass
elif score>=80:
    print("良好")
    pass
elif score>=70:
    print("及格")
    pass
else:
    print("不及格")
    pass

设计一个小游戏

猜拳小游戏
0:石头 1:剪刀 2:布
import  random #直接导入产生随机数的模块
 计算机  人
person=int(input("请出拳:[0:石头 1:剪刀 2:布]"))
computer=random.randint(0,2)#产生0-2三个数据
if person==0 and computer==1:
    print("厉害了,你赢了")
    pass
elif person==1 and computer==2:
    print("厉害了,你赢了")
    pass
elif person==2 and computer==0:
    print("厉害了,你赢了")
    pass
elif person==computer:
    print("不错,居然是平手")
    pass
else:
    print("哈哈哈,你输了")
    pass

(4)if-else的嵌套使用:一个场景需要分阶段或者层次,做出不同的处理
要执行内部的if语句 一定要外部的if语句满足条件才可以

xuefen=int(input("请输入你的学分:"))
grade=int(input("请输入你的成绩:"))
if  xuefen>10:
    if grade>=80:
        print('您可以升班了,恭喜您')
        pass
    else:
        print('很遗憾,您的成绩不达标')
        pass
else:
    print('您的表现也太差了吧。。。')

三、循环流程

  1. While 条件表达式:一条条的编程语句
    一条条的编程语句
    ……
    语法特点:有初始值;条件表达式;变量【循环体内的计数变量】的自增自减,否则会造成死循环。
    使用条件:循环的次数不确定,是依靠循环条件来结束。
    目的:将相似或者相同的代码操作变得更加简洁,使我们的代码可以重复利用。

举例

输出1-100之间的数据
index=1
while index<=100:
    print(index)
    index+=1
    pass
打印九九乘法表
row=1
while row<=5:
    j=1#空格数
    while j<=5-row:  #控制打印空格的数量
        print(' ',end='')#end表示不换行
        j+=1
        pass
    k=1
    while k<=2*row-1: #控制打印*号
        print('*',end='')
        k+=1
        pass
    print()
    row+=1
    pass
打印直角三角形
row=1
while row<=5:
    j=1#空格数
    while j<=5-row:  #控制打印空格的数量
        print(' ',end='')#end表示不换行
        j+=1
        pass
    k=1
    while k<=2*row-1: #控制打印*号
        print('*',end='')
        k+=1
        pass
    print()
    row+=1
pass
练习等腰三角形
row=1
while row<=5:
    j=1#空格数
    while j<=5-row:  #控制打印空格的数量
        print(' ',end='')#end表示不换行
        j+=1
        pass
    k=1
    while k<=2*row-1: #控制打印*号
        print('*',end='')
        k+=1
        pass
    print()
    row+=1
    pass
  1. for (临时变量)…in(字符串,列表等) 可迭代集合对象一条条的编程语句
    一条条的编程语句
    语法特点:遍历操作依次的取集合容器中的每个值。

举例

tags='我是一个中国人'#字符串类型本身就是一个字符类型的集合
for item in tags:
    print(item)
    pass
---range函数---此函数可以生成一个数据集合列表
#range(起始数据:结束:步长) 步长不能为0
输出1-100
for data in range(1,101):#左包含右不包含
    print(data,end=' ')
输出1-100和
sum=0
for data in range(1,101):
    sum+=data
    pass
print("sum=%d"%sum)
输出奇数与偶数
	for data in range(1,101):
    if data%2==0:
        print("%d是偶数"%data)
        pass
    else:
        print("%d是奇数"%data)
for i in range(1,10):
    for j in range(1,i+1):
        print("%d*%d=%d"%(i,j,i*j),end=' ')
        pass
    print() #控制换行
    pass
  1. break和continue 这两个关键字只能用在循环中
    (1)break 退出循环 只要满足条件直接结束
举例:sum大于100就退出
sum=0
for item in range(1,51):
    if sum>100:
        print('循环执行了%d次就退出了'%item)
        break
        pass
    sum+=item
    pass
print('sum=%d'%sum)

(2)continue 跳过本次循环,继续下一次循环

在这里插入代码片举例:输出1-100的奇数
		  for item in range(1,100):
    		if item%2==0:
        		continue
        		pass
   		 print('奇数是%d'%item)
    	     pass```

```python
举例:遍历字符串
		  for item in 'i love you':
    		if item=='e':
        		break
   	    print(item)
举例:输出1-20
index=1
while index<=100:
    if index>20:
        break
        pass
    print(index)
    index+=1
  1. while与for
    while使用:对未知的循环次数 用于判断
    for使用:适用于已知循环次数【可迭代对象遍历】
  2. for—else与while—else,只要出现break,else不会再执行
举例:用户登录提示
account='www'
pwd='123'
for i in range(3):
    zh=input('请输入账号:')
    pd=input('请输入密码:')
    if account==zh and pwd==pd:
        print('恭喜您,登录成功!')
        break
    else:
        print('您的输入有误,请重新输入')
        pass
    pass
else:
    print('您的账号已被系统锁定……')