您的位置:首页 > 游戏 > 游戏 > python学习笔记-03

python学习笔记-03

2024/12/26 2:17:26 来源:https://blog.csdn.net/weixin_46081986/article/details/138582204  浏览:    关键词:python学习笔记-03

流程控制

1.顺序流程

代码自上而下的执行。

2.选择流程/分支流程

根据在某一步的判断有选择的执行相应的逻辑。
2.1单分支
if语句

if 条件表达式:代码代码...

2.2双分支
if-else语句

if 条件表达式:代码代码...
else:代码代码...

2.3多分支
if-elif-else语句

if 条件表达式:代码代码...
elif 条件表达式:代码代码...
elif 条件表达式:代码代码...
elif 条件表达式:代码代码...
....................
else:代码代码...

代码会了多分支另两个就会了所以不举例了,内容瞎写的没有逻辑:

a=int(input())
if a>90:print("优秀")pass #空语句
elif a>80:print("a==b")pass
else:print("a<b")pass

pass是空语句,试了一下不写pass也可以
else是选配,根据实际情况设计

在这里插入图片描述
和电脑玩剪刀石头布小程序:

import random    #引入生成随机数的库
#0:石头 1:剪刀 2:布
person=int(input('请玩家输入:'))
comp=random.randint(0,2)  #电脑随机生成一个位于0-2的随机整数
if person==0 and comp==1 or person==1 and comp==2 or person==2 and comp==0:print('你赢了!')pass
elif person==0 and comp==0 or person==1 and comp==1 or person==2 and comp==2:print('平局!')pass
else:print('你输了!')pass
print(comp)

在这里插入图片描述
嵌套循环:

xuefen=int(input('请输入学分:'))
grade=int(input('请输入成绩:'))
if xuefen>10:if grade>=80:print('恭喜考的很好')passelse:print('很遗憾,成绩不好')passpass
else:print('很遗憾学分不够')pass

在这里插入图片描述

3.循环流程

在满足一定的条件时,一直重复的执行某段代码逻辑。循环可以将相似/相同的代码操作变得更加简洁,使得代码可以重复利用。
3.1 while循环

while 条件表达式:代码代码...

while循环的计数量一般都有初始值
计数值自增/自减,否则会导致死循环
循环次数不确定

index=1
while index<=100:print(index)index+=1   #不可以用index++,会报错

在这里插入图片描述
打印九九乘法表:

index=1
j=1
while index<=9:j=1while j<=index:print('{}*{}={}'.format(index,j,index*j),end=" ")  #注意这里的end一定要加,不然就会默认打完直接换行,就不能三角形显示了j+=1passprint() #换行用,如果print('\n')就直接换两行了index+=1pass

或是:

index=1
j=1
while index<=9:j=1while j<=index:print('%d*%d=%d'%(index,j,index*j),end=" ")j+=1passprint()index+=1pass

在这里插入图片描述
如果不加end的话就会:
在这里插入图片描述
打印倒三角:

while index<=9:j=1while j<=10-index:print('%d*%d=%d'%(index,j,index*j),end=" ")j+=1passprint()index+=1pass

在这里插入图片描述
打印三角:

row=10
while row>=1:j=1while j<=row:print('*',end=" ")j+=1passrow-=1print()pass

在这里插入图片描述
打印等腰三角形:

row=1
while row<=5:  #5是三角形的行数ta=1while ta<=5-row:  ta+=1print(' ',end=" ")passwhile ta<5-row+2*row:ta+=1print('*',end=" ")passprint()row+=1pass

在这里插入图片描述
2.2 for循环

for ... in 集合对象:代码代码...
集合对象可以是列表、数组、字符串等,for循环可以用于遍历序列。
tags='我是一个好人'
for item in tags:print(item)pass

在这里插入图片描述

for item in 'I love you':print(item)
range函数可以生成一个数据集合列表
range(起始值,结束值,步长),步长不能为0
range(起始值,结束值)  默认步长是1
for i in range(1,100,2):print(i,end=' ')pass

在这里插入图片描述

for i in range(1,100,2):print(i,end=' ')pass

在这里插入图片描述

用for循环嵌套打印九九乘法表:

for i in range(1,10):for j in range(1,10):if i<j:print('%2d*%2d=%2d'%(i,j,i*j),end=' ')passelse:continuepasspassprint()pass

在这里插入图片描述

3. break和continue

break和continue只能用在循环中。
3.1 break
break表示中断、退出循环。

sum=0
for i in range(1,51):if sum>100:print('循环执行到%d退出'%i)breakpasssum+=ipass
print(sum)

在这里插入图片描述

3.2 continue
continue表示退出本次循环,继续下次循环。

sumj=0
sumo=0
sum=0
for i in range(1,51):sum+=iif i%2==0:sumo+=icontinuepasssumj+=ipass
print('奇数和是%d'%sumj)
print('偶数和是%d'%sumo)
print('总和是%d'%sum)

在这里插入图片描述

4.短路运算

4.1 for-else结构

for i in range(1,11):print(i,end=' ')if i>=5:break  #有break的话,for循环结束后的else不执行passpass
else:print('循环执行结束')

在这里插入图片描述

for i in range(1,11):print(i,end=' ')pass
else:print('循环执行结束')

在这里插入图片描述

即如果是因为break结束的循环就不会执行else,如果是正常执行的就执行else,可以用于查找信息失败的时候给出相应提示的情况

username='haha'
pwd='xixi'
for i in range(3):  #循环三次u=input('请输入用户名')p=input('请输入密码')if u==username and p==pwd:print('登陆成功')breakpasspass
else:print('用户名密码错误三次,已锁!')

在这里插入图片描述
在这里插入图片描述
4.2 while-else语句
和for-else一样,如果因为break结束循环,则不执行else后面的语句,如果是正常结束,则执行。

username='haha'
pwd='xixi'
i=1
while i<=3:  #循环三次i+=1u=input('请输入用户名')p=input('请输入密码')if u==username and p==pwd:print('登陆成功')breakpasspass
else:print('用户名密码错误三次,已锁!')

在这里插入图片描述
在这里插入图片描述

5. 实践

5.1 猜年龄小游戏
在这里插入图片描述

sign='Y'
age=16
flag=1
while sign=='Y' or sign=='y':index=1while index<=3:guage=int(input('请输入猜测的年龄:'))if guage==age:print('恭喜猜对了!')flag=0breakpasselse:print('很遗憾,请重新输入')passindex+=1passif flag==0:breakpasselse:sign=input('请输入是否继续:')passpass

在这里插入图片描述
在这里插入图片描述
5.2 计算BMI指数
在这里插入图片描述

tall=1.75
weigh=80.5
t=tall*tall
B=weigh/t
if B<18.5:print('您的BMI指数是%d,过轻'%B)pass
elif B>=18.5 and B<25:print('您的BMI指数是%d,属于正常范围'%B)pass
elif B>=25 and B<28:print('您的BMI指数是%d,过重'%B)pass
elif B>=28 and B<32:print('您的BMI指数是%d,肥胖'%B)pass
else:print('您的BMI指数是%d,严重肥胖'%B)pass

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com