首页 > 编程语言 >python学习笔记-03

python学习笔记-03

时间:2024-06-03 19:00:14浏览次数:25  
标签:03 python 代码 range 笔记 else while pass print

流程控制

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('恭喜考的很好')
        pass
    else:
        print('很遗憾,成绩不好')
        pass
    pass
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=1
    while j<=index:
        print('{}*{}={}'.format(index,j,index*j),end=" ")  #注意这里的end一定要加,不然就会默认打完直接换行,就不能三角形显示了
        j+=1
        pass
    print() #换行用,如果print('\n')就直接换两行了
    index+=1
    pass

或是:

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

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

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

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

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

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

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

在这里插入图片描述
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=' ')
            pass
        else:
            continue
            pass
        pass
    print()
    pass

在这里插入图片描述

3. break和continue

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

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

在这里插入图片描述

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

sumj=0
sumo=0
sum=0
for i in range(1,51):
    sum+=i
    if i%2==0:
        sumo+=i
        continue
        pass
    sumj+=i
    pass
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不执行
        pass
    pass
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('登陆成功')
        break
        pass
    pass
else:
    print('用户名密码错误三次,已锁!')

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

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

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

5. 实践

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

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

在这里插入图片描述
在这里插入图片描述
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

在这里插入图片描述

标签:03,python,代码,range,笔记,else,while,pass,print
From: https://blog.csdn.net/weixin_46081986/article/details/138582204

相关文章

  • Python基础篇(模块和包)
    模块简介(module)在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,将会显得越来越杂乱无章,故使得代码的维护性越来越差。这时候我们会根据不同的功能将不同用途的代码放置在不同的.py文件中,这样做的好处就是:一、大大的提高了代码的可维护性。......
  • 揭秘YAML:Python中的PyYAML应用
    ......
  • windows下python源码编译构建grpc【填各种坑】
    背景首先这是巨坑,pipinstallgrpcio和pipinstallgrpcio_tools的方式,因为公司的库里没有,且申请入库复杂,因此只能通过源码构建。思路第一步,应该是要去找grpc的源码,公司是有源码的,也可以在PIPY上找,比如我需要1.41.1的grpc版本,就如下地址https://pypi.org/project/......
  • Python基础:在多个.py文件组成的项目中如何安全的使用文件路径(绝对路径安全,相对路径可
    在Python项目中使用相对路径时,路径的计算是基于当前执行脚本的位置,即当前工作目录(CurrentWorkingDirectory,CWD)。这通常是你从中启动Python解释器的目录。这种方式在简单脚本或当你直接从命令行运行单个脚本文件时行得通,但在较大的项目或多层目录结构中可能导致路径错误......
  • Python数据分析【Numpy系列】np.linspace()用法详解
    np.linspace()是NumPy库中一个非常有用的函数,它用于在指定的区间内生成等间距的样本值。这个函数非常适合在数值分析、数据可视化和信号处理等领域生成数据点。函数语法numpy.linspace(start,stop,num=50,endpoint=True,retstep=False,dtype=None,axis=0)......
  • 2024-06-03 英语学习纪要
    coincidence第一次自然拼读这个词的时候我的断开方式是coincidence但是现在发现词根是co所以它的含义也就是n.巧合drasticadj.剧烈的,急剧的drasticmeasures严厉的措施drasticchange巨变drasticshortageoffood事物相当短缺副词形式为drasticallyagre......
  • 初识C语言(02)—学习笔记
    转义字符转义字符释义\0结束标志\n换行\'打印单引号\"打印双引号\\打印一个反斜杠\t水平制表符\a警告字符,蜂鸣?在书写连续多个问号时使用,防止它们被解析成三字符\dddddd表示1~3个八进制的数字\xdddd表示2个十六进制数字\v垂直......
  • Python3 笔记:extend()、append() 和 +号 的区别
    1、extend()可以向一个列表中添加另外一个列表中的所有元素。list1=[1,2,3,4]list2=[3,4,5,6]list1.extend(list2)print(list1) #运行结果:[1,2,3,4,3,4,5,6]print(list2) #运行结果:[3,4,5,6]2、append()用于向列表末尾添加元素。list1=[1,2,3,4]li......
  • 数据结构学习笔记-希尔排序
    希尔排序的算法设计与分析问题描述:设计并分析希尔排序算法【算法设计思想】选择一个初始的增量序列,通常选择数组长度的一半(n/2)作为初始增量。对于每个增量,将数组分割成若干个子序列,每个子序列的长度等于当前增量。例如,如果增量为5,那么数组将被分割成长度为5的子序列。对......
  • 利用python批量重命名(将「歌手名-歌名.mp3」更为「歌名-歌手名.mp3」)
    效果原始:修改后:python代码importosdefrename_files(directory):forfilenameinos.listdir(directory):if"-"infilenameandfilename.endswith(".mp3"):#分割文件名为歌手名和歌曲名parts=filename.rsplit("-......