#if-else语句
age = int(input("请输入年龄:"))
if age >= 7:
print("可以上小学")
else:
print("年龄未满足要求,不可以上小学")
---------------------------------------------------
请输入年龄:8
可以上小学
---------------------------------------------------
请输入年龄:3
年龄未满足要求,不可以上小学
#if-elif语句
holiday_name = input("请输入节日:")
if holiday_name == '儿童节':
print("是小孩子的节日!")
elif holiday_name == '端午节':
print("今天要吃粽子!!")
elif holiday_name == '情人节':
print("今天要买一束花送给她!")
else :
print("今天是努力的一天!")
#if嵌套语句
list1 = [1,3,5,9,'apple','bee']
a = input("请输入")
if a in list1:
if a == 'apple':
print("Ture")
else:
print(False)
else:
print("请重新尝试")
---------------------------------------------------
请输入apple
Ture
三元运算符是对简单的条件语句的简写
创新互联是一家专业提供固镇企业网站建设,专注与网站制作、成都网站制作、H5页面制作、小程序制作等业务。10年已为固镇众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。
#三元运算符
a = int(input("输入a:"))
b = int(input("输入b:"))
print("a大于b") if a>b else print("b大于a") if a
python中的循环语句有for和while
while循环使用else语句:如果while后面的体哦阿健语句为false时,泽执行else的句块
#一般形式
while 判断条件(condition):
执行语句(statements)....
#while循环语句
count = 0
while count < 5:
print(count,"小于5")
count = count + 1
else :
print(count,"大于等于5")
---------------------------------------------------
0 小于5
1 小于52 小于5
3 小于5
4 小于5
5 大于等于5
for循环可以遍历任何可迭代对象
#本金元存入银行,年利率是千分之三,每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是多少?
benjin =
nianlilv = 0.0003
for i in range(1,6):
new = (benjin*nianlilv+benjin)
benjin = new
print("五年后获得的本金为:",benjin)
----------------------------------------------------
五年后获得的本金为: .00
在字典遍历中,关键字和对应的值可以使用items()方法同时解读出来:items()方法以列表返回试图对象,是一个可便利的key/value对
#items()方法字典遍历
knights = {'gallahad':'the pure','robin':'the brave'}
for k,v in knights.items():
print(k,v)
---------------------------------------------------
gallahad the pure
robin the brave
在序列遍历中,索引位置和对应值可以使用enumerate()函数同时得到:enumerate()函数用于可便利的数据对象(如列表、元组、字符串)组合为一个索引序列,同时列出数据和数据下标,一般用于for循环当中
#enumerate()函数进行序列遍历
for i,v in enumerate(['tic','tac','toe']):
print(i,v)
---------------------------------------------------
0 tic
1 tac
2 toe
同时遍历两个或多个序列时,可以使用zip()组合。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 ***** 号操作符,可以将元组解压为列表。
#zip()函数将对象元素打包
a = [1,2,3]
b = {'ada','dasd','ads','aaaa'}
for x,y in zip(a,b):
print(x,y)
---------------------------------------------------
1 dasd
2 aaaa
3 ads
#zip()函数依次取出二位列表的每列函数
list1 = [[1, 2, 3, 4, 5, 6],
[1, 3, 5, 7, 9, 11],
[3, 4, 5, 6, 8, 9],
[2, 4, 6, 8, 10, 12],
[0, 3, 5, 7, 9, 0],
[5, 6, 8, 2, 3 ,4]]
for i in zip(*list1):
print(i)
reversed()函数返回一个反转的迭代器,因此要反转一个序列,首先指定这个序列然后调用reversed()函数
#reversed()函数反转迭代器
star = "qwert"
print(list(reversed(star)))
-----------------------------------------------------
['t', 'r', 'e', 'w', 'q']
要按顺序遍历一个序列,可以使用sorted()函数返回一个已经排序的序列,并不修改原值。
#sorted()函数遍历排序
a = sorted([5,6,2,4,3,9,8]) #默认升序
print(a)
b = a.sort() #list.sort方法返回的是原始的列表,值为None
print(b)
-----------------------------------------------------
[2, 3, 4, 5, 6, 8, 9]
None
在python中pass是空语句,是为了保持程序结构的完整性,pass不做任何事情,一般用做占位语句
#pass语句占位
while True:
pass
-----------------------------------------------------
#返回为空
#简单的迭代器
list1 = [1,2,4,5,6]
a = iter(list1) #创建迭代器对象
print(next(a)) #输出迭代器的下一元素
print(next(a))
print(next(a))
-----------------------------------------------------
1
2
4
迭代器对象可以使用常规for语句进行遍历
#使用for语句进行迭代器遍历
list1 = [1,2,4,5,6]
a = iter(list1)
for x in a:
print(x,end="") #end传递空字符串,意为末尾不换行加空格
-----------------------------------------------------
什么是生成器?可以通俗的认为,在一个函数中,使用yield来代替return的位置的函数就是生成器
自定义函数规则
#自定义函数求圆的面积
import math
pi=math.pi #引用Π值
def yuan(r):
s = pi*r*r
return s
r = float(input("请输入半径:"))
s = print(yuan(r))
---------------------------------------------------
请输入半径:5
78.
参数传递分为传不可变对象以及传可变对象
以下是调用函数时可使用的正式参数类型:
必须参数/关键字参数/默认参数/不定长参数
#调用printme()函数
def printme(str):
print(str) #打印任何传入的字符串
return
printme() #未传参报错
---------------------------------------------------
TypeError: printme() missing 1 required positional argument: 'str'
#调用printinfo()函数
def printinfo(name,age):
print("姓名:",name)
print("年龄:",age)
return
printinfo(age=19,name="runoob")
---------------------------------------------------
姓名: runoob
年龄: 19
#默认参数
def printinfo(name,age = 35):
print("姓名:",name)
print("年龄:",age)
return
printinfo(age=19,name="runoob")
print("------------------------------")
printinfo(name="runoob")
---------------------------------------------------
姓名: runoob
年龄: 19
------------------------------
姓名: runoob
年龄: 35
#不定长参数第一种
def sum(*crad):
sum = 0
for weight in crad:
sum += weight
if sum > 500:
print("超重了!再不下,就给你一个大笔兜")
return sum
sum_s = sum(50,80,200,200) #自动组成一个元组传入形参
----------------------------------------------------
超重了!再不下,就给你一个大笔兜
#不定长参数第二种
def student_n(**info):
print(info)
dict = info
return dict
dict = student_n(name="小王",id="001",score="82")
----------------------------------------------------
{'name': '小王', 'id': '001', 'score': '82'}
声明函数时,参数中星号*可以单独出现,如果单独出现星号后的参数必须用关键字传入
#*关键字传参
def f(a,b,*,c):
return a+b+c
f(1,2,3) #星号后未用关键字传参导致报错
----------------------------------------------------
Traceback (most recent call last):
File "f:/python_prictace/02-python.py", line 187, in
f(1,2,3)
TypeError: f() takes 2 positional arguments but 3 were given
#*关键字传参
def f(a,b,*,c):
return a+b+c
print(f(1,2,c=3))
----------------------------------------------------
6
#混合使用
def foo(*args,**kargs):
print(args)
print(kargs)
foo(a=2,1,2,3)
#当同时使用*和**时,必须将*的参数列在**的前面,否则会报错
----------------------------------------------------
File "f:/python_prictace/02-python.py", line 196
foo(a=2,1,2,3)
^
SyntaxError: positional argument follows keyword argument
#混合使用
def foo(*args,**kargs):
print(args)
print(kargs)
foo(1,2,3,a=2)
----------------------------------------------------
(1, 2, 3)
{'a': 2}
#lambda表达式创建一元二次方程
def fx(a,b,c):
return lambda x : a*x*x + b*x + c
f = fx(1,2,3)
print(f(3))
----------------------------------------------------
18