2025年Python选择结构与循环结构及应用(第四章)

Python选择结构与循环结构及应用(第四章)1 条件表达式 1 python 中条件表达式的值只要不 False 0 0 0 0j 等 空值 None 空列表 空元组 空集合 空字典 空字符串 空 range 对象或其他空迭代对象 Python 解释器均认为 True 等价 例 gt gt gt if 666 print True

大家好,我是讯享网,很高兴认识大家。

1. 条件表达式

1. python中条件表达式的值只要不 False、0(0.0,0j等)、空值None、空列表、空元组、空集合、空字典、空字符串、空range对象或其他空迭代对象,Python解释器均认为True等价

例:

>>> if 666:     print(True)       True >>> #使用整数作为条件表达式 >>> a=[1,2,3] >>> if a:     print(a) [1, 2, 3] >>> #使用列表作为条件表达式 >>> a=[] >>> if a:     print(a) else:     print('empty')       empty >>>  

讯享网

注:Python中boolean类型的False与True,首字母大写

2. Pyhton中的赋值语句

讯享网>>> a,b,c=1,2,3           >>> print(a,b,c)       1 2 3 >>>

3.赋值语句的拓展

>>> x=input('输入一个字符串:')     >>> a,b=map(int,s.split()) 

注:x是接收的一个字符串,map(类型,split(分隔符)),如果定义好的类型,接收的值必须是同类型的值,否则会报错(这里必须接收的是两个整型的值,且必须由空格分开) 

4. Python中的交换值

讯享网>>> a,b=b,a           >>> print(a,b)           2 1 >>> 

2.选择结构 

if 表达式:

     语句块

 注:不管是选择结构还是循环结构,Python中的表达式可已不括起来,但是后面的:是不可缺少的,结构中的语句块必须做相应的缩进(4个空格为缩进单位),也就是一定要层次分明

2.双分支,语法:

if 表达式:

       语句块

else:

      语句块

4. 多分支结构,语法:

if 表达式1:

     语句块1

elif  表达式2:            #这里的elif 与其他语言else if 一样,但在python中不能用else if 

     语句块2

elif  表达式3:

     语句块1    

……

else:

     语句块n

3.循环结构 

while 结构:

while 条件表达式:


讯享网

       循环体

else: 

       代码块

for 结构:

for 取值 in  序列或迭代对象:

      循环体

else ;

       代码块 

注:循环结构中的else子句,可带可不带,其用法是循环因条件表达式,不成立或序列遍结束  ,去执行else中的语句,如果因break语句导致循环提前结束则不会执行else的语句

例:

>>> a=100 >>> while a<200: print(a,1) a=200 else: print(a,2) 100 1 200 2 >>> 

4.应用

1. 质数(Prime number,又称素数),指在大于1的自然数中,除了1和该数自身外,无法被其他自然数整除的数(也可定义为只有1与该数本身两个正因数的数)。 

例:求100内素数

讯享网>>> j=0 >>> for i in range(1,100,2): #偶数不是素数,1-100的随机数,步长为2 for j in range(3,i+1,1): #判断是否是素数,i+1的随机数的产生不包括i+1 if i%j==0: break if j==i: print(i)

等价于:

>>> for i in range(3,100,2): for j in range(3,int(i0.5)+1,1): if i%j==0: break else: print(i)

注:这里没有包含2的素数,这里为了方便,是设计步长为2

2. 求下平均成绩,输入yes时输入下一个成绩,输入no时得结果

讯享网numbers=[] while True: x=input("输入成绩:") #异常处理,保证为实数 try: numbers.append(float(x)) except: print("不合法分数?") while True: flag=input('是否继续输入下一个数:(yes/no)')#执行到这句时,flag声明成功,如果不执行的话,下面if中的flag会报错 if flag not in('yes','no'): print('只能输入yes/no') else: break if flag=='no':#python中只要用到说明就已经声明了 break print(sum(numbers)/len(numbers)) 

 注:变量的声明,在使用时,也就是赋值时,变量声明成功,不要求范围,与java不一样

例:比较

python

if 1<2:

     a=1

print('a声明成功')

java(或其他语言)

if(1<2){

       a=1;

}

print("a声明不成功,且报错")

3. 编写程序,判断今天是今年的第几天

import time #导时间的包 date=(time.localtime()) #获取当前时间 print(date) #获取年,月,日,时,分,秒…… year,month,day=date[0:3]#切片,拿到年月日 #year,month,day=2019,1,15#检测1月的时候 print(year,month,day) day_month=[31,28,31,30,31,30,31,31,30,31,30,31] if year%400==0 or (year%4==0 and year%100!=0): #判断是否是闰年(闰年29天) day_month[1]=29 print(sum(day_month[0:month-1])+day) #之所以是month-1,不包含自身

 

小讯
上一篇 2025-03-13 22:45
下一篇 2025-01-27 23:47

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/44854.html