#if-else語(yǔ)句
age = int(input("請(qǐng)輸入年齡:"))
if age >= 7:
print("可以上小學(xué)")
else:
print("年齡未滿足要求,不可以上小學(xué)")
---------------------------------------------------
請(qǐng)輸入年齡:8
可以上小學(xué)
---------------------------------------------------
請(qǐng)輸入年齡:3
年齡未滿足要求,不可以上小學(xué)
#if-elif語(yǔ)句
holiday_name = input("請(qǐng)輸入節(jié)日:")
if holiday_name == '兒童節(jié)':
print("是小孩子的節(jié)日!")
elif holiday_name == '端午節(jié)':
print("今天要吃粽子?。?)
elif holiday_name == '情人節(jié)':
print("今天要買(mǎi)一束花送給她!")
else :
print("今天是努力的一天!")
#if嵌套語(yǔ)句
list1 = [1,3,5,9,'apple','bee']
a = input("請(qǐng)輸入")
if a in list1:
if a == 'apple':
print("Ture")
else:
print(False)
else:
print("請(qǐng)重新嘗試")
---------------------------------------------------
請(qǐng)輸入apple
Ture
三元運(yùn)算符是對(duì)簡(jiǎn)單的條件語(yǔ)句的簡(jiǎn)寫(xiě)
創(chuàng)新互聯(lián)是一家專(zhuān)業(yè)提供固鎮(zhèn)企業(yè)網(wǎng)站建設(shè),專(zhuān)注與網(wǎng)站制作、成都網(wǎng)站制作、H5頁(yè)面制作、小程序制作等業(yè)務(wù)。10年已為固鎮(zhèn)眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專(zhuān)業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。
#三元運(yùn)算符
a = int(input("輸入a:"))
b = int(input("輸入b:"))
print("a大于b") if a>b else print("b大于a") if a
python中的循環(huán)語(yǔ)句有for和while
while循環(huán)使用else語(yǔ)句:如果while后面的體哦阿健語(yǔ)句為false時(shí),澤執(zhí)行else的句塊
#一般形式
while 判斷條件(condition):
執(zhí)行語(yǔ)句(statements)....
#while循環(huán)語(yǔ)句
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循環(huán)可以遍歷任何可迭代對(duì)象
#本金元存入銀行,年利率是千分之三,每過(guò)1年,將本金和利息相加作為新的本金。計(jì)算5年后,獲得的本金是多少?
benjin =
nianlilv = 0.0003
for i in range(1,6):
new = (benjin*nianlilv+benjin)
benjin = new
print("五年后獲得的本金為:",benjin)
----------------------------------------------------
五年后獲得的本金為: .00
在字典遍歷中,關(guān)鍵字和對(duì)應(yīng)的值可以使用items()方法同時(shí)解讀出來(lái):items()方法以列表返回試圖對(duì)象,是一個(gè)可便利的key/value對(duì)
#items()方法字典遍歷
knights = {'gallahad':'the pure','robin':'the brave'}
for k,v in knights.items():
print(k,v)
---------------------------------------------------
gallahad the pure
robin the brave
在序列遍歷中,索引位置和對(duì)應(yīng)值可以使用enumerate()函數(shù)同時(shí)得到:enumerate()函數(shù)用于可便利的數(shù)據(jù)對(duì)象(如列表、元組、字符串)組合為一個(gè)索引序列,同時(shí)列出數(shù)據(jù)和數(shù)據(jù)下標(biāo),一般用于for循環(huán)當(dāng)中
#enumerate()函數(shù)進(jìn)行序列遍歷
for i,v in enumerate(['tic','tac','toe']):
print(i,v)
---------------------------------------------------
0 tic
1 tac
2 toe
同時(shí)遍歷兩個(gè)或多個(gè)序列時(shí),可以使用zip()組合。如果各個(gè)迭代器的元素個(gè)數(shù)不一致,則返回列表長(zhǎng)度與最短的對(duì)象相同,利用 ***** 號(hào)操作符,可以將元組解壓為列表。
#zip()函數(shù)將對(duì)象元素打包
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()函數(shù)依次取出二位列表的每列函數(shù)
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()函數(shù)返回一個(gè)反轉(zhuǎn)的迭代器,因此要反轉(zhuǎn)一個(gè)序列,首先指定這個(gè)序列然后調(diào)用reversed()函數(shù)
#reversed()函數(shù)反轉(zhuǎn)迭代器
star = "qwert"
print(list(reversed(star)))
-----------------------------------------------------
['t', 'r', 'e', 'w', 'q']
要按順序遍歷一個(gè)序列,可以使用sorted()函數(shù)返回一個(gè)已經(jīng)排序的序列,并不修改原值。
#sorted()函數(shù)遍歷排序
a = sorted([5,6,2,4,3,9,8]) #默認(rèn)升序
print(a)
b = a.sort() #list.sort方法返回的是原始的列表,值為None
print(b)
-----------------------------------------------------
[2, 3, 4, 5, 6, 8, 9]
None
在python中pass是空語(yǔ)句,是為了保持程序結(jié)構(gòu)的完整性,pass不做任何事情,一般用做占位語(yǔ)句
#pass語(yǔ)句占位
while True:
pass
-----------------------------------------------------
#返回為空
#簡(jiǎn)單的迭代器
list1 = [1,2,4,5,6]
a = iter(list1) #創(chuàng)建迭代器對(duì)象
print(next(a)) #輸出迭代器的下一元素
print(next(a))
print(next(a))
-----------------------------------------------------
1
2
4
迭代器對(duì)象可以使用常規(guī)for語(yǔ)句進(jìn)行遍歷
#使用for語(yǔ)句進(jìn)行迭代器遍歷
list1 = [1,2,4,5,6]
a = iter(list1)
for x in a:
print(x,end="") #end傳遞空字符串,意為末尾不換行加空格
-----------------------------------------------------
什么是生成器?可以通俗的認(rèn)為,在一個(gè)函數(shù)中,使用yield來(lái)代替return的位置的函數(shù)就是生成器
自定義函數(shù)規(guī)則
#自定義函數(shù)求圓的面積
import math
pi=math.pi #引用Π值
def yuan(r):
s = pi*r*r
return s
r = float(input("請(qǐng)輸入半徑:"))
s = print(yuan(r))
---------------------------------------------------
請(qǐng)輸入半徑:5
78.
參數(shù)傳遞分為傳不可變對(duì)象以及傳可變對(duì)象
以下是調(diào)用函數(shù)時(shí)可使用的正式參數(shù)類(lèi)型:
必須參數(shù)/關(guān)鍵字參數(shù)/默認(rèn)參數(shù)/不定長(zhǎng)參數(shù)
#調(diào)用printme()函數(shù)
def printme(str):
print(str) #打印任何傳入的字符串
return
printme() #未傳參報(bào)錯(cuò)
---------------------------------------------------
TypeError: printme() missing 1 required positional argument: 'str'
#調(diào)用printinfo()函數(shù)
def printinfo(name,age):
print("姓名:",name)
print("年齡:",age)
return
printinfo(age=19,name="runoob")
---------------------------------------------------
姓名: runoob
年齡: 19
#默認(rèn)參數(shù)
def printinfo(name,age = 35):
print("姓名:",name)
print("年齡:",age)
return
printinfo(age=19,name="runoob")
print("------------------------------")
printinfo(name="runoob")
---------------------------------------------------
姓名: runoob
年齡: 19
------------------------------
姓名: runoob
年齡: 35
#不定長(zhǎng)參數(shù)第一種
def sum(*crad):
sum = 0
for weight in crad:
sum += weight
if sum > 500:
print("超重了!再不下,就給你一個(gè)大筆兜")
return sum
sum_s = sum(50,80,200,200) #自動(dòng)組成一個(gè)元組傳入形參
----------------------------------------------------
超重了!再不下,就給你一個(gè)大筆兜
#不定長(zhǎng)參數(shù)第二種
def student_n(**info):
print(info)
dict = info
return dict
dict = student_n(name="小王",id="001",score="82")
----------------------------------------------------
{'name': '小王', 'id': '001', 'score': '82'}
聲明函數(shù)時(shí),參數(shù)中星號(hào)*可以單獨(dú)出現(xiàn),如果單獨(dú)出現(xiàn)星號(hào)后的參數(shù)必須用關(guān)鍵字傳入
#*關(guān)鍵字傳參
def f(a,b,*,c):
return a+b+c
f(1,2,3) #星號(hào)后未用關(guān)鍵字傳參導(dǎo)致報(bào)錯(cuò)
----------------------------------------------------
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
#*關(guān)鍵字傳參
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)
#當(dāng)同時(shí)使用*和**時(shí),必須將*的參數(shù)列在**的前面,否則會(huì)報(bào)錯(cuò)
----------------------------------------------------
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表達(dá)式創(chuàng)建一元二次方程
def fx(a,b,c):
return lambda x : a*x*x + b*x + c
f = fx(1,2,3)
print(f(3))
----------------------------------------------------
18