目錄
一、while迴圈補充
(1)、while+continue
- 使用迴圈列印出0-9的數字
count = 0
while count < 10:
print(count)
count += 1
- 列印0-10的數字不列印6
count=0
while count < 11:
if count ==6:
count+=1
continue #
print(count)
count+=1
continue結束本次迴圈,並且回到while迴圈的條件處從新判斷
(2)、while+else(瞭解)
# count=0
# while count < 10:
# print(count)
# count+=1
# else:
# print('哈哈哈哈')
count=0
while count < 10:
if count ==5:
count+=1
continue
print(count)
count+=1
else:
print('哈哈哈哈')
當while迴圈沒有被中斷(break)的時候,就會執行
(3)、死迴圈
'''在程式中,可千萬不能出現死迴圈'''
while True:
print(100)
'''能用for迴圈實現的,都不要使用while迴圈'''
二、for迴圈
for
迴圈也是迴圈結構的一種,但是和while
不同的是,for
迴圈並不會出現死迴圈,因此我們能夠使用for
迴圈實現的功能儘量不使用while
# 1. 使用while迴圈列印以下列表中得資料
name_list = ['kevin', 'tony', 'jack', 'tom']
# i=0
# while i<4:
# print(name_list[i])
# i+=1
for name in name_list:
print(name)
"""
語法格式:
for 變數 in 可迭代物件: 字串、列表、字典、元組
print(name)
"""
for i in 'helloworld':
print(i)
PS:for後面的變數名命名的時候,如果沒有特殊的含義,我們一般使用i,j,k,v,item等等
'''重點'''
d = {'username':'kevin', 'age':18, 'hobby':'music'}
for i in d:
print(i, d[i])
range關鍵字
- range方法起一個把輸入的範圍內,所有的整數都放到一個列表中的作用,但是rnage方法顧頭不顧尾,最後的結尾不取
# 配合for迴圈使用
第一種玩法:
for i in range(10) # 一個引數, 列印數字列表,從0開始
print(i)
第二種玩法:
for i in range(4, 18): # 顧頭不顧尾
print(i)
第三種玩法:
for i in range(2, 20, 3):# 起始數值,結束數值,間隔數值
print(i)
# 擴充知識:
"""
推斷:https://movie.douban.com/top250?start=0&filter= 第一頁
https://movie.douban.com/top250?start=25&filter= 第二頁
https://movie.douban.com/top250?start=50&filter= 第三頁
https://movie.douban.com/top250?start=75&filter= 第四頁
https://movie.douban.com/top250?start=100&filter= 第五頁
...
https://movie.douban.com/top250?start=225&filter= 第十頁
"""
url = 'https://movie.douban.com/top250?start=%s&filter='
for i in range(0,250,25):
print(url % i)
'''小補充:range在不同直譯器版本中是有區別的。'''
for+break
for i in range(10):
if i == 3:
break
print(i)
for+continue
for i in range(10):
if i == 3:
continue
print(i)
for+else
for i in range(10):
if i == 3:
break
print(i)
else:
print('哈哈哈哈')
for迴圈巢狀
for i in range(1,10):
for j in range(1,i+1):
print('%s*%s=%s' %(i,j,i*j),end=' ')
print()
三、數字型別內建方法
(1)、整型(int)
# 進位制轉換
print(bin(10)) # 0b1010
print(oct(10)) # 0o12
print(hex(10)) # 0xa
# 0b代表二進位制 0o代表八進位制 0x代表十六進位制
print(int('0b1010', 2))
print(int('0o12', 8))
print(int('0xa', 16))
(2)、浮點型(float)
float方法可以把整型、特殊情況下的字串變成float型別:
a = 11
b = '11.1'
c = '11.1.1'
print(float(a))
print(float(b))
print(float(c))
# 這裡的話執行c的轉換的時候會直接報錯
注意:python對數字的運算其實並不敏感(精確),但是由於背後的大佬較多,我們可以使用模組進行精確計算
四、字串str內建方法
型別轉換(把其他型別轉換成自己的型別)
字串可以轉換所有型別的資料值,從結果看就是在兩邊加上引號
索引取值
information = 'hello python'
print(information[0])
切片操作
# 升級版本:切片取值
information = 'Hello World'
print(information[6:]) # 從6取到結尾
print(information[:6]) # 取到第六個就結束,第六個不取
print(information[:]) # 取所有的值
print(information[-1:]) # 從後往前取,從後往前取的時候
print(information[-5:-1]) # 用負的位置座標取值,需要小的在前大的在後
print(information[6:10]) # 從第六個開始,取到10,但是取不到10的位置,只能到九
print(information[6:10:2]) # 從第六個開始,取到10,但是取不到10的位置,並且兩個字元取一次
print(information[10:6:-1]) # 從第10個開始,取到6,但是取不到6的位置,是從後往前取
統計字串的長度(個數)
len:計算字串長度或個數
# 計算長度的len
information = 'hello world'
print(len(information))
strip方法:刪除首尾的內容
刪除字串首尾的空格,或是指定的字元。生活中主要使用在賬號密碼的輸入中,可以減少錯誤
# 刪除字串首尾的空格
# information = ' hello world '
# print(information.strip())
lstrip和rstrip:刪除左側或右側字元的strip方法
# 左側:lstrip
information = ' hello world '
print(len(information))
print(information.lstrip())
print(len(information.lstrip()))
# 右側:rstrip
information = ' hello world '
print(information.rstrip())
print(len(information.rstrip()))
split方法:切塊
split:刪除指定的字元並從刪除的位置把字串變成列表中的一個個值
# split
information = 'hello world'
print(information.split(' '))
# 這裡我們可以看到根據中間的空格把字串分成了含有兩個值的列表,並且空格被刪掉了
format方法:格式化輸出
format方法擁有和%s相似的功能,但是更為強大,也更方便
format方法有四種表現形式,如下:
表現形式一
插入佔位的符號,輸入佔位符輸入的值,不能多不能少
# format玩法1:等價於佔位符
# res = 'my name is {} my age is {}'.format('jason', 123)
# print(res)
# format玩法2:索引取值並支援反覆使用
# res = 'my name is {0} my age is {1} {0} {0} {1}'.format('jason', 123)
# print(res)
# format玩法3:佔位符見名知意
# res = 'my name is {name1} my age is {age1} {name1} {age1} {name1} '.format(name1='jason', age1=123)
# print(res)
# format玩法4:推薦使用(******)
name = input('username>>>:')
age = input('age>>>:')
res = f'my name is {name} my age is {age}'