-
if
1.if...else判断语句
if...
input(提示语):你输入什么,就给你输出什么
第一种语法:
age=input("请输入eugenia的年龄:") print(type(age)) #isdigit print(dir(age)) if age.isdigit(): age=int(age) #强制将age转换成int类型 if age>=45: print("真可爱,nb") print(age) if age>=45: print("真可爱,nb")
运行上述代码后,在结果显示栏中的“请输入eugenia的年龄”后输入年龄,敲击enter即显示判断结果
age=int(age)
if age>=45: age>=45是一个布尔值
print("真可爱,nb")
print("25",isdigit()) 可以判断25是不是digit ,如果是返回true,如果不是返回false
第二种语法:if...else
if true就执行if下的代码,如果为false则执行else后的代码
age=input("请输入eugenia的年龄:")
if age.isdigit():
age=int(age)
if age>=45:
print("真可爱,nb")
else:
print("小鲜肉")
else:
print("对不起,你输入的不是数字类型")
运行上述代码后,在结果显示栏中的“请输入eugenia的年龄”后输入年龄,敲击enter即显示判断结果
第三种语法:if...elif...elif多个...else
age=input("请输入eugenia的年龄:") if age.isdigit(): age=int(age) if age>=45: print("真可爱,nb") elif age>=25 and age<45: print("小鲜肉") elif age>18 and age<25: print("年轻") else: print("未成年") else: print("你输入的不是数字类型")
运行上述代码后,在结果显示栏中的“请输入eugenia的年龄”后输入年龄,敲击enter即显示判断结果
求和 1/1+1/3+1/5+......+1/99
第一种方法:通过代码 i%2 ==1,来判定 i/2 余数是否为1,来判定 i 是否是奇数
i=1 sum=0 while i<100: if i%2==1: sum+=1/i i+=1 print(sum)
第二种方法:效率比第一种高
i=1 sum=0 while i<100: sum+=1/i i+=2 #相当于在for循环中设置step步长为2 print(sum)
break和continue
例题:打印出数字0~9
continue:只能在for循环中使用。当执行到continue的时候,continue往下的代码就不执行了
for i in range(10): #当使用range()时,若()内只有一个参数时,表示从0开始入参直到输入参数值的前一位。例:range(10)的入参为0~9 if i==5: continue print(i)
break:当执行到break的时候,直接终止当前循环
for i in range(20): if i==10: break print(i)
i=0 while i<20: if i==10: break print(i) i+=1
另一种操作:利用flag=false条件判断,此处flag只是一个随机取得变量名。
break和continue是直接代表“终止循环”和“继续执行”的指令。
i=0
flag=True #True如果写为true会报错
while flag:
if i==4:
flag=False #False如果写为false会报错
print(i)
i+=1
函数对就代码封装
目的:减少重复代码的使用
- 函数的定义:
def test(): """ 注释 """ print("逻辑处理代码") return 0
def:定义函数的关键字
test:函数名
“““注释”””:对函数说明
print(“逻辑处理代码”)
return:表示返回值,也表示程序结束,只能在函数体内使用
- 函数的调用:函数名()
当函数定义完了之后,就会在内存中分配一块地址
什么情况下函数才能被调用:test()
def test():
while True:
age=input("请输入eugenia的年龄:")
if age.isdigit():
age=int(age)
if age>=45:
print("真可爱,nb")
elif age>=25 and age<45:
print("小鲜肉")
elif age>18 and age<25:
print("年轻")
else:
print("未成年")
return age #也可换成break
else:
print("你输入的不是数字类型")
test_age=test()
print(test_age)
- 函数的参数:
def test():
print("hello world")
return #有返回值则用return,无返回值不用return
def test(x,y): #x,y叫形式参数 print(x) print(y) test(1,2) #把1赋值给x,把2赋值给y。1和2叫实际参数
#位置参数 def test(x,y): print(x) print(y) test(2,1) #位置参数:因为传入参数的方式跟位置有关
#若只传入x的值则必须保证,y已经传入过参数了
def test(x,y=3):
print(x)
print(y)
test(2) #y没有传参,默认是旧的赋值y=3
#关键字参数传参 def test(x,y): print(x) print(y) test(1,y=2) #y=2的方式叫关键字传参 #当关键字传参和位置传参同时使用时,需注意关键字传参只能在位置传参后面,因此test(y=2,1)是无法执行的。 #test(y=2,x=1)可执行,说明关键字传参跟位置无关
#若只传入x的值则必须保证,y已经传入过参数了
def test(x=3,y=7):
print(x)
print(y)
test(y=6)
#默认值 def test(x,y=2): print(x) print(y) #test(1) #因为y不传参,所以默认是旧的值即y=2 test(1,5) #y传入5,则y更新为5。x传1,则x=1
#非固定位置参数:功能是接收N个位置参数,转换成元组的形式 def test(x,y,*args): #*args,非固定位置传参必须在形参前加一个*,此处*args内的参数对应的不是一个位置而是多个位置。 print(x) print(y) print(args) test(1,2,3,4,5,6,7,8,9) test(1,3,4,6,y=2) #错误的用法 def test(x,y,*args): print(x) print(y) print(args) names=('a','b','c','d') test(1,2,names) #*args=names 作为*args的一个元素 test(1,2,*names) #*args=*names是将names转换为元组
#非固定关键字参数:功能是把N个关键字参数,转换成字典形式
def test(x,y,**kwargs): #**kwargs,非固定位置传参需在形参前加2个*,此处形参变量kwargs对应两个关键字参数。 print(x) print(y) print(kwargs) test(1,2,m=1,name="eugenia") #{'m':1,'n':2,'name':'eugenia'} stu_info={'name':'eugenia','age':18,'hobby':'skating'} test(1,2,**stu_info) #**kwargs=**stu_info
#非固定位置参数和非固定关键字参数配合使用 def test(x,y=2,*args,**kwargs): print(x) print(y) print(args) print(kwargs) test(1,5,1,2,3,4,m=1,name="eugenia") #test(1,y=5,1,2,3,4,m=1,name="eugenia") #错误的写法:关键字参数不能
浙公网安备 33010602011771号