一猎提、if語句
1.基本句式
格式:
if 條件語句:
(縮進)條件語句結果為True執(zhí)行的代碼塊
執(zhí)行過程:先判斷條件語句是否為True,如果為True就執(zhí)行if語句后:后面對應的一個縮進的所有代碼旁蔼;為False锨苏,就不執(zhí)行冒號后面的代碼塊,直接執(zhí)行后續(xù)的其他語句棺聊。
條件語句:可以是任何有值的表達式伞租,但是一般是布爾值
示例:
if True:
print('執(zhí)行')
print('代碼1')
print('代碼2')
print('代碼3')
結果:
執(zhí)行
代碼1
代碼2
代碼3
2.if-else
格式:
if 條件語句:
(縮進) 代碼塊1
else:
(縮進) 代碼塊2
執(zhí)行過程:條件語句為True,執(zhí)行代碼塊1限佩,條件為False葵诈,執(zhí)行代碼塊2
示例:
score = 50
if score >= 60:
print('及格')
else:
print('不及格')
結果:
不及格
3.if-elif-else
格式:
if 條件語句1:
(縮進) 代碼塊1
elif 條件語句2:
(縮進) 代碼塊2
else:
(縮進) 代碼塊3
執(zhí)行過程:條件語句1為True,只執(zhí)行代碼塊1祟同;條件語句1為False作喘,條件語句2為True,只執(zhí)行代碼塊2晕城;條件語句1和2都為False泞坦,執(zhí)行代碼塊3
示例:
score = 98
if score>=90:
print('優(yōu)秀')
elif score>=70:
print('良好')
elif score>=60:
print('及格')
elif score>=0:
print('不及格')
else:
print('成績無效')
結果:
優(yōu)秀
4.if語句的嵌套使用
格式:
if 條件語句1:
(縮進) if 條件語句2:
(縮進)(縮進)代碼塊1
(縮進) else:
(縮進)(縮進)代碼塊2
else:
(縮進)代碼塊3
示例:
num = 16
if isinstance(num, int):
if num%2:
print(num , '是奇數')
else:
print(num , '是偶數')
if num%4:
pass
else:
print(num , '是4的倍數')
else:
print(num, '的數據類型不符合')
結果:
16 是偶數
16 是4的倍數
注:isinstance(值,類型名) ---- 判斷指定的值是否是指定額數據類型砖顷,ininstance的返回值為:True和False
二贰锁、數據類型轉換
通用格式:類型名(被轉換的數據)
適用類型:int ,float ,str ,bool
1.其他的數據類型轉換成整型
方法:int()
特點:
浮點型:取整
bool:True ----- 1 ;False ----- 0
字符串:去掉引號之后依舊就是一個整型數據的字符串才能轉換成整型。
示例:
print(int(12.3))
print(int(True))
print(int(False))
print(int('46564'))
print(int('-15'))
print(int('+45'))
結果:
12
1
0
46564
-15
45
2.其他的數據類型轉換成浮點型
方法:float()
特點:
整型:在整數后面加個'.0'
bool:True ----- 1.0;False ----- 0.0
字符串:去掉引號之后依舊就是一個整型或者浮點型數據的字符串才能轉換成整型滤蝠。
示例:
print(float(12))
print(float(True))
print(float(False))
print(float('123'))
print(float('123.456'))
print(float('-13.5'))
print(float('+15.54'
結果:
12.0
1.0
0.0
123.0
123.456
-13.5
15.54
3.其他類型的數據轉換成布爾類型
方法:bool()
特點:
不管什么類型的數據都可以轉換成布爾值
整型:0 ----- False; 其他的都為True
浮點型:0.0 ----- False; 其他都為True
字符串:空字符串('') ----- False李根;其他都為True
所有為0為空的都為False
示例:
print(bool(1))
print(bool(123))
print(bool(-154))
print(bool(0))
print(bool(12.5))
print(bool(-45.5))
print(bool(0.0))
print(bool('123'))
print(bool('0'))
print(bool(' '))
print(bool(''))
print(bool(None))
結果:
True
True
True
False
True
True
False
True
True
True
False
False
4.其他類型的數據轉換成字符串
方法:str()
特點:
所有數據類型的數據都可以轉換成字符串
其他數據轉換成字符串的時候,就是直接在數據的外層加引號
示例:
# 判斷一個字符串是否為空串(字符串長度為0)
str1 =''
# 方法1
if str1 == '':
print('空串')
else:
print('不是空串')
# 方法2
if len(str1) == 0:
print('空串')
else:
print('不是空串')
# 方法3
if str1:
print('不是空串')
else:
print('空串')
# 判斷一個數字是否為0
number = 0
if number:
print('不是0')
else:
print('是0')
結果:
空串
空串
空串
是0
三几睛、for循環(huán)
1.for循環(huán)
for 變量 in 序列:
(縮進) 循環(huán)體
for:關鍵字
變量:聲明中間變量
in:關鍵字
序列:容器類型的數據 ----- 字符串房轿、列表、集合所森、字典囱持、元組等
循環(huán)體:需要重復執(zhí)行的代碼塊
執(zhí)行過程:用中間變量去取序列中的元素(一次取一個),取完為止焕济,每取一次執(zhí)行一次循環(huán)體纷妆。
示例:
number = '一二三123'
for num in number:
print(num)
結果:
一
二
三
1
2
3
2.range()函數及在for循環(huán)中的使用
- xrange()是python2.x中的函數,在python3.x使用range()代替了
- range()的功能時產生指定范圍的數字序列晴弃,一般用在for循環(huán)中掩幢,控制循環(huán)次數逊拍,或者產生索引值。
range(n):產生0 ~ n-1的整數序列
range(n,m):產生 n ~ m-1 的整數序列
range(n,m,s):產生 n ~ m-s 的整數序列,步進為s
示例:
list1 = [1,2,3,4]
for i in range(1, len(list1)):
print(list1[i])
print('-'*20)
# 打印20次'abc'
for i in range(20):
print('abc', i+1)
print('-'*20)
# 步進為2
for i in range(1,11,2):
print(i)
print('-'*20)
# 練習:計算1+2+3+······+100
# 方法一
sum1 = 0
for num in range(1,101):
sum1 += num
print(sum1)
# 方法二
sum1 = 0
for num in range(100):
sum1 += num + 1
print(sum1)
print('-'*20)
# 練習: 計算1*2*3*```*10
sum1 = 1
sum2 = 1
for num in range(1,11):
sum1 *= num
if not num%2:
sum2 *= num
print(sum1)
print(sum2)
print('-'*20)
# 練習2:有一個字符串'abcdef',依次取出偶數位上的字符际邻。(下標為偶數)
# 方法一
str1 = 'abcdef'
list2 = []
for num in range(len(str1)):
if not num % 2:
list2.append(str1[num])
print(list2)
# 方法二
for index in range(0, len(str1), 2):
print(str1[index])
# 方法三
index = 0
for char in str1:
if not index%2:
print(char)
index += 1
結果:
2
3
4
--------------------
abc 1
abc 2
abc 3
abc 4
abc 5
abc 6
abc 7
abc 8
abc 9
abc 10
abc 11
abc 12
abc 13
abc 14
abc 15
abc 16
abc 17
abc 18
abc 19
abc 20
--------------------
1
3
5
7
9
--------------------
5050
5050
--------------------
3628800
3840
--------------------
['a', 'c', 'e']
a
c
e
a
c
e
四芯丧、while循環(huán)
while 條件語句:
(縮進) 循環(huán)體
while:關鍵字
條件語句:結果是True,或者False
循環(huán)體:需要重復執(zhí)行的代碼塊
- 執(zhí)行過程:判斷條件語句是否為True,為True就執(zhí)行循環(huán)體世曾,執(zhí)行完循環(huán)體缨恒,在判斷條件語句是否為True,如果為True轮听,就再次執(zhí)行循環(huán)體骗露,為False,退出循環(huán)血巍。
注意:如果條件語句一直未True萧锉,就會造成死循環(huán)。所以在循環(huán)體中要有可以結束循環(huán)的操作述寡。
python中沒有do-while循環(huán)
示例:
flag = True
while flag:
print('flag:戰(zhàn)爭結束了我就回家結婚')
flag = False
print('-'*20)
# 使用while循環(huán)計算1+2+3+····+100
num = 0
sum1 = 0
while num<101:
sum1 += num
num += 1
print(sum1)
# 練習:2+4+6+···+100
num = 2
sum2 = 0
while num<101:
sum2 += num
num += 2
print(sum2)
結果:
flag:戰(zhàn)爭結束了我就回家結婚
--------------------
5050
2550
五柿隙、continue和break
1.continue
- continue和break兩個關鍵字都是作用于循環(huán)當中,用來結束循環(huán)的辨赐。
- continue:關鍵字,在循環(huán)體中遇到continue就結束當次循環(huán)京办,直接進入下次循環(huán)的判斷掀序。如果是for循環(huán),中間變量取下一個值惭婿,while循環(huán)中則是去判斷條件語句是否為True不恭。
示例:
for num in range(10):
if num%2:
continue
print(num)
結果:
0
2
4
6
8
2.break
- break:關鍵字,在循環(huán)體中遇到break,就直接結束整個循環(huán)财饥。
示例:
for x in range(1,10):
print(x)
if x>5:
break
結果:
1
2
3
4
5
6
六换吧、for和while的選擇和循環(huán)嵌套
1.for和while的選擇
for:通過序列控制循環(huán),循環(huán)的次數是固定的也是確定的钥星。
while:在循環(huán)過程中可以修改條件語句的真假沾瓦,循環(huán)次數可以不確定,也可操作谦炒。
- 循環(huán)次數不確定時贯莺,選擇while循環(huán)。確定時宁改,一般選擇for循環(huán)缕探。
- 通過循環(huán)遍歷一個序列中的值,使用for循環(huán)
七还蹲、知識拓展
1.input()
- 接收從控制臺輸入的數據(輸入的數據以回車結束)
- 程序中遇到input()函數爹耗,程序會阻塞耙考,等待用戶輸入數據,用戶輸入完成后(回車)潭兽,才會執(zhí)行后面的代碼倦始。
2.產生隨機數
- python中有一個內置模塊,可以產生隨機數:random();
- randint(n, m):產生一個n~m的隨機整數
示例:
import random
num = random.randint(1,10)
print(num)
結果:
2