目录导航

  • 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")  #错误的写法:关键字参数不能

 

posted on 2021-01-23 12:05  EugeniaWang  阅读(75)  评论(0)    收藏  举报