Python二

Python


二、语法


1、条件判断语句
1.1、if语句和if…else…语句
if 判断条件:
    条件成立时执行的语句
    
if 判断条件:
    条件成立时执行的语句
else:
    条件不成立时执行的语句

if语句下面的内容需要严格遵循缩进的规则

1.2、if…elif…else语句
if 判断条件1:
    条件1成立时执行的语句
elif 判断条件2:
    条件2成立时执行的语句
    。
    。
elif 判断条件n:
    条件n成立时执行的语句
else:
    以上条件都不成立时执行的语句     	#else语句可以不用
1.3、if语句的注意事项

隐式转换:if语句后面的条件判断语句结果会强制为布尔值

if 2+4:	#这里会强制把(2+4)转换为布尔值
    pass
1.4、三元表达式

​ if…else…语句可以简写成三元表达式,参考以下代码

#有2个数num1和num2,把其中的较大者赋值给max_num
#传统写法
num1=5
num2=8
if num1 > num2:
    max_num = num1
else:
	max_num = num2
print(max_num)  	#8
#三元表达式
num1=5
num2=8
max_num = num1 if num1 >num2 else num2
print(max_num)		#8  完全等效于上面的语法
2、pass语句

​ 关键字pass写在程序中,不进行任何操作,eg:

num=int(input('输入一个数字:'))
if num > 0:
    pass		#比如还没想好语句下写什么内容,但又想测试程序,就可以用pass占位,否则会报错
3、循环语句
3.1、while循环

​ while语句语法,注意while循环必须要有能够结束循环的条件,否则极易造成死循环

while 判断条件:
	判断条件为真时执行的语句
3.2、for…in…循环
for ele in iterable:	#ele时一个变量,iterable是一个可迭代对象
	每轮循环执行的语句     #遍历操作

​ 需要注意的是,关键字in的后面必须是一个可迭代对象,常见的有:字符串、列表、字典、元组、集合以及常用的range。

range是一个内置类,用来生成指定区间的序列,range[0,10]就是生成0-9的序列,指定区间含左不含右

4、关键字break和continue

break语句功能:用在循环中,break直接结束整个循环

continue功能:用在循环中,continue直接结束本轮循环,开启下轮循环

break和continue只能用在循环中

continue使用时要注意避免造成死循环,见以下代码:

#打印0,1,2,4
i=0
while i<5:
    if i==3:	#由于continue不断地返回到判断条件,导致造成死循环
        continue
    print(i)
    i=i+1

break语句在某些场合能够有效的避免逻辑陷阱,参考以下代码:

#不断地让用户输入用户名和密码,只要用户名和密码不是lisa和123,就一直问	
#常规写法
username=input('输入用户名:')
password=input('输入密码:')
while username != 'lisa' and password != '123':  
    #正确写法应是not (username == 'lisa' and password == '123')
    username=input('输入用户名:')
	password=input('输入密码:')

以上代码看似没有问题,但实际运行会发现如果用户名输入正确,而密码输错,系统就不会再问了,这是因为发生了and运算短路(逻辑运算短路)。优化的语法如下:

while True:
    username=input('输入用户名:')
	password=input('输入密码:')
    if username == 'lisa' and password == '123':
        break
5、for…else…语句

​ for可以搭配else语句,其功能是当for循环内部的break没有被执行时,就执行else下面的语句。

#求101~200之间的素数:只能被1和自身整除的数叫做素数
for i in range(101,201):
    for j in range(2,i):
        if i%j == 0:
            break
    else:
        print('%d是素数'%i)	#当for循环中的break语句没有执行时,就执行else语句
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值