一、Recode
字符串
1.'', "" , '''''' , """"""
2.普通字符缸逃,轉(zhuǎn)義字符针饥,編碼字符(\u+4位16進(jìn)制)
3.獲取字符串中字符
字符串[下標(biāo)]
字符串[開始下標(biāo):結(jié)束下標(biāo):步長]
4.字符串相關(guān)運(yùn)算:+ ,*需频,比較丁眼,in/not in ,len()贺辰,str()
5.格式字符串
%s
%d
%.nf
%c
6.字符串常用方法
str1 = 'abc\nqwe'
str2 = """
abc,
123, gff
1234
"""
二户盯、分支結(jié)構(gòu)
1.if 語句
python中的分之結(jié)構(gòu)只有if語句,沒有switch
a.語法:
if 條件語句
代碼段
b.說明:
if - 關(guān)鍵字
條件語句 - 任何有結(jié)果的表達(dá)式(不管結(jié)果是什么類型)
: - 固定寫法(下一行代碼幾乎都要縮進(jìn))
代碼段 - 和if保持一個(gè)縮進(jìn)的一條或者多條語句
c.執(zhí)行過程:
先判斷條件語句的結(jié)果是否是true饲化,如果是true就執(zhí)行:后面的代碼段,否則就不執(zhí)行
注意:如果條件語句的結(jié)果不是布爾吗伤,會(huì)先將結(jié)果轉(zhuǎn)換為布爾在判斷
"""
1.1 if 后可以寫哪些語句:賦值語句不能寫if后面吃靠,其他都可以
注意:和if保持縮進(jìn)的語句是在條件成立的時(shí)候才執(zhí)行,在if外面的語句不管if條件是否成立都會(huì)執(zhí)行
num = 10
if num % 2 == 0 :
print('%d是偶數(shù)'%(num))
else:
print('是奇數(shù)')
if 10 :
print('條件是語句10')
if 'abc':
print('條件是語句abc')
#練習(xí):隨機(jī)產(chǎn)生一個(gè)年齡值足淆,如果年齡大于18就打印‘成年’,并把年齡打印出來
import random
age = random.randint(0,100)
if age >= 18:
print('成年巢块,')
print('年齡%d歲'%(age))
2.if-else
a.語法:
if 條件語句:
代碼段
else :
代碼段2
b.執(zhí)行過程:先判斷條件語句是否為true,為true就執(zhí)行代碼段1巧号,否則就執(zhí)行代碼段2
# 隨機(jī)產(chǎn)生一個(gè)整數(shù)族奢,如果是奇數(shù)打印‘xxx是奇數(shù)’,否則打印‘xxx是偶數(shù)’
import random
num = random.randint(0,10000)
if num & 1 == 0:
print('%d是偶數(shù)'%(num))
else:
print('%d是奇數(shù)'%(num))
3.if - elif - else
a.語法:
if 條件語句1:
代碼段1
elif 條件語句2:
代碼段2
elif 條件語句3:
代碼段3
丹鸿。越走。。
else:
代碼段4
b.執(zhí)行過程:先判斷條件語句1是否成立靠欢,成立就執(zhí)行代碼段1廊敌;
否則判斷條件語句2是否成立,成立就執(zhí)行代碼段2门怪;
否則就判斷條件語句3是否成立骡澈,成立就執(zhí)行代碼段3;
依次類推掷空,如果前面條件都不成立肋殴,就執(zhí)行else后面的代碼段n;
注意:
1.后面的條件判斷前提是前面的條件不成立
2.后面的elif 根據(jù)情況可以有多個(gè)囤锉,else也可以省略
# 根據(jù)成績對成績進(jìn)行分段:<60分打印不及格,60-70及格,71-89良好护锤,90及以上優(yōu)秀
score = int(input("輸入分?jǐn)?shù):"))
if score< 60:
print('不及格')
elif score<= 70:
print("良好")
elif score<= 89:
print("良好")
else:
print("優(yōu)秀")
4.if嵌套
可以在if 官地,elif,else后面的代碼段中蔽豺,都可以再寫其他的if語句
# 如果一個(gè)數(shù)是偶數(shù)就打印偶數(shù)区丑,否則打印奇數(shù)。如果偶數(shù)還能被4整除修陡,在打印4的倍數(shù)
a = 4
if a & 1 == 0:
print("偶數(shù)")
if a % 4 ==0 :
print("4的倍數(shù)")
else:
print("奇數(shù)")
# 練習(xí):輸入一個(gè)字符串沧侥,判斷字符串的第一個(gè)字符是字母,如果打印“以字母開頭”魄鸦。如果這個(gè)字母是大寫的宴杀,在打印大寫字母, 如果不是就不打印
str1=input("輸入字符串:")
if 'a'<=str1[0]<='z'or 'A'<=str1[0]<='Z':
print("以字母開頭")
if'A'<=str1[0]<='Z':
print("以字母開頭,大寫字母")
else:
print("都不是")
三拾因、for循環(huán)
python中的循環(huán)結(jié)構(gòu)有兩種:for循環(huán)和while循環(huán)
什么時(shí)候用循環(huán):某個(gè)操作需要重復(fù)執(zhí)行旺罢,就考慮用循環(huán)
a.語法:
for 變量 in 序列:
循環(huán)體
b.說明:
for - 關(guān)鍵字
變量 - 變量名
in - 關(guān)鍵字
序列 - 可以是字符串、列表绢记、元祖扁达、集合、迭代器蠢熄、range
循環(huán)體 - 和for保持一個(gè)tab的一條或者多條語句(需要重復(fù)執(zhí)行的代碼)
c.執(zhí)行過程:
讓變量去序列中取值跪解,一個(gè)一個(gè)的去,取完為止签孔;每取一個(gè)叉讥,就執(zhí)行一次循環(huán)體
(for循環(huán)中,序列中值得個(gè)數(shù)饥追,決定了循環(huán)的次數(shù))
d.注意:如果for后面的變量取到的值图仓,在循環(huán)體里面不使用,那么之歌變量命名的時(shí)候用一個(gè)_來命名
for x in 'abc':
print(x)
print('====')
2.range
range(n) - 產(chǎn)生一個(gè)數(shù)字序列但绕,序列中的內(nèi)容是0到n-1(結(jié)果是序列)
range(m,n) - 產(chǎn)生一個(gè)數(shù)字序列救崔,序列中的內(nèi)容是m到n-1
range(m,n,step) - 產(chǎn)生一個(gè)數(shù)字序列,從m開始每次加step壁熄,直到前為止
range一般用在:
a.需要產(chǎn)生指定范圍的數(shù)字序列
b.單純的控制for循環(huán)的循環(huán)次數(shù)
for num in range(10):
print(num*'$')
for num in range(5,15):
print(num)
for num in range(0,10,2):
print(num)
# 練習(xí):求1+2+3+.....+100
sum=0
for num in range(1,101):
sum= sum+ num
print(sum)
#練習(xí):2+4+6+....+100
sum = 0
for num in range(2,101,2):
sum=sum+num
print(sum)
sum=0
for num in range(1,101):
if num & 1==0:
sum=sum+num
print(sum)
# 練習(xí):統(tǒng)計(jì)一個(gè)字符串中數(shù)字字符的個(gè)數(shù)
str1 = str(input("輸入:"))
sum=0
for num in str1:
if '0'<= num <='9':
sum=sum+1
print(sum)
四帚豪、while循環(huán)
1.while循環(huán)
a.語法:
while 條件語句:
循環(huán)體
b.說明:
while - 關(guān)鍵字
條件語句 - 有結(jié)果的表達(dá)式(除了賦值語句,一般的表達(dá)式都行)
: - 固定寫法
循環(huán)體 - 和while保持一個(gè)縮進(jìn)的一條或者多條語句(會(huì)被重復(fù)執(zhí)行)
c.執(zhí)行過程:(重點(diǎn))
先判斷條件語句是否為True草丧,為True就執(zhí)行循環(huán)體狸臣;
執(zhí)行完循環(huán)體再判斷條件語句是否為True,為true又執(zhí)行循環(huán)體
....
以此類推昌执,直到判斷條件語句的結(jié)果為False烛亦,整個(gè)循環(huán)就結(jié)束
#1诈泼,2,3煤禽,4铐达,5,....檬果,100
num=1
while num <= 100:
print(num)
num+=1
# 1*2*3*...*10
num=1
sum1 = 1
while num <= 10:
sum1 = sum1 * num
num += 1
print(sum1)
# 練習(xí):使用while循環(huán)瓮孙,獲取字符串:‘a(chǎn)bc123’中的每個(gè)字符
# num=0
# str1 = 'abc123'
# while num <= len(str1):
# print(str1[num])
# num+=1
python中,for循環(huán)能做到while循環(huán)都能做到选脊;但是while循環(huán)能做到的杭抠,for循環(huán)不一定能做到
2.for循環(huán)和while循環(huán)的選擇
使用for循環(huán):
a.獲取序列中的元素(值)
b.循環(huán)次數(shù)確定
while循環(huán):
a.死循環(huán)
b.循環(huán)次數(shù)不確定
# 練習(xí):程序可以不斷進(jìn)行輸入,直到輸入的值為0
while num != '0':
num = input("請輸入:")
print("輸入正確恳啥!")
五偏灿、break、continue和else
1.continue
continue是一個(gè)關(guān)鍵字钝的,只能寫在循環(huán)體中
功能:當(dāng)循環(huán)執(zhí)行過程中遇到continue翁垂,會(huì)結(jié)束當(dāng)次循環(huán),直接進(jìn)入下次循環(huán)的判斷
(直接進(jìn)入下次循環(huán)的判斷:for循環(huán)就是用變量取下一個(gè)值硝桩;while循環(huán)就是直接判斷條件語句是否為true)
sum1 =0
for x in range(100):
if x % 2 ==0 :
continue
sum1+= x
print(sum1)
2.break
break是一個(gè)關(guān)鍵字沿猜,只能寫在循環(huán)體中
功能:當(dāng)循環(huán)過程中遇到break,整個(gè)循環(huán)直接結(jié)束
sum1=0
num = 1
while True:
sum1+=num
num += 1
if sum1 >= 100:
break
print(sum1)
3.else
a.語法:
while 條件語句:
循環(huán)體
else:
代碼段
for 變量 in 序列:
循環(huán)體
else:
代碼段
b.執(zhí)行過程:
else結(jié)構(gòu)不會(huì)影響原循環(huán)的執(zhí)行過程碗脊。當(dāng)循環(huán)自然結(jié)束的時(shí)候就會(huì)執(zhí)行else后面的代碼段邢疙。
循環(huán)因?yàn)橛龅絙reak而結(jié)束的時(shí)候不會(huì)執(zhí)行else后邊的代碼段
for x in range(10):
print(x)
else:
print('循環(huán)結(jié)束')