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,不包含自身

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