內容概要
-
while+continue‘
-
while+else
-
-
for循環
-
數據類型的內置方法(重點)
# 1.使用while循環打印出0-10
count = 0
while count < 11:
print(count)
count += 1
# 2.使用while循環打印出0-10但是不打印4
count = 0
while count < 11:
if count == 4:
count += 1
print(count)
count += 1
"""
continue會讓循環體代碼直接回到條件判斷處重新判斷
"""
count = 0
while count < 5:
print(count)
count += 1
else:
print(123) # 會執行else子代碼
count = 0
while count < 5:
if count == 3:
break
print(count)
count += 1
else:
print(123) # 不會執行else子代碼
"""
當while循環沒有被人為中斷(break)的情況下才會走else
"""
三、
for循環能做到的事情 while循環都可以做到
但是for循環語法更加簡潔,並且在循環取值問題上更加方便
# name_list = ['jason', 'tony', 'kevin', 'jack', 'xxx']
# count = 0
# while count < 5:
# print(name_list[count])
# count += 1
# for循環
for name in name_list:
print(name)
"""
for 變量名 in 可迭代對象: # 字符串、列表、字典、元組、集合
for循環體代碼
ps:變量名如果沒有合適的名稱,可以使用i,j,k.,v,item等
"""
# name_list = ['jason', 'tony', 'kevin', 'jack', 'xxx']
# 循環取出列表的每一個元素並打印
# while實現
# count = 0
# while count < 5:
# print(name_list[count])
# count += 1
# for循環
# for name in name_list:
# print(name)
# for循環字符串
# for i in 'hello world':
# print(i)
# for循環字段:默認只能拿到K
d = {'username': 'jason', 'pwd': 123, 'hobby': 'read'}
for i in d:
print(i, i[k])
四、range關鍵字
# 關鍵字range
# 第一種情況:一個參數 從0開始 顧頭不顧尾
# for i in range(10):
#print(i)
# 第二種情況:兩個參數 自定義起始位置 顧頭不顧尾
#for i in range(4, 10):
# print(i)
# 第三種情況:三個參數 第三個數字用來控制等差值
# for i in range(4, 20, 5):
"""
擴展知識
https://movie.douban.com/top250 第一頁
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=0&filter= 推測第一頁
"""
base_url = "https://movie.douban.com/top250?start=%s&filter="
for i in range(0, 250, 25):
print(base_url % i)
# range在不同版本的解釋器中 本質不同
在python2.X中染個會直接生成一個列表
在python2.X中有一個xrange也是迭代器(老母豬)
在python3.X中range是一個迭代器(老母豬) 節省內存空間
'''python2.x中xrange就是python3.x里面的range'''
五、for+break
# break功能也是用於結束本層循環
for i in range(10):
if i == 4:
break
print(i)
六、for+continue
continue功能也是用於結束本次循環
for i in range(10):
if i == 4:
continue
print(i)
七、for+else
else也是在for循環正常結束的情況下才會執行
for i in range(10):
if i == 3:
break
print(i)
else:
print(123)
七、for循環的嵌套使用
for i in range(3):
for j in range(5):
print("*=", end='')
print() # print代表換行
for i in range(1, 10):
for j in range(1, i + 1):
print('%s*%s=%s' % (i, j, i * j), end=' ')
print()
八、數據類型的內置方法
在日常生活中不同類型的數據具有不同的功能
eg:表格數據文件具有處理表格的各項功能(數據透視表、圖形化、公式計算)
...
# 1.整形int
# 方式在代碼中展示出來的效果就是 名字()
# 類型轉換
# res = '123'
# print(type(res))
# res = int(res)
# print(type(res))
'''int在做類型轉換的時候 只能轉換純數字'''
# int('123.123') # 報錯 不識別小數點
# int('jason123') # 報錯 不識別除數字以外的數據
'''int其實還可以做進制數轉換'''
print(bin(100)) # 將十進制的100轉換成二進制 0b1100100
print(oct(100)) # 將十進制的100轉換成八進制 0o144
print(hex(100)) # 將十進制的100轉換成十六進制 0x64
# 0b開頭為二進制數 0o開頭為八進制數 0x開頭為十六進制數
print(int('0b1100100', 2)) # 100
print(int('0o144', 8)) # 100
print(int('0x64', 16)) # 100
# 浮點型
# 類型轉換
res = '123.123'
# print(type(res))
# res = float(res)
# print(type(res))
print(float('123')) # 123.0
# 字符串str
# 類型轉換
print(str(123))
print(str(123.21))
print(str([1, 2, 3, 4]))
print(str({'name': 'jason', 'pwd': 123}))
print(str((1, 2, 3, 4)))
print(str(True))
print(str({1, 2, 3, 4}))
# 基本用法
res = 'hello world!'
# 1.索引取值
# print(res[1]) # e
# 2.切片操作 顧頭不顧尾
# print(res[1:4]) # ell
# 3.步長操作
# print(res[1:10]) # ello worl
# print(res[1:10:2]) # el ol
# 4.索引支持負數
# print(res[-1]) # ! 最后一位
# print(res[-5:-1]) # orld 顧頭不顧尾
# print(res[-5:-1:-1]) # 方向沖突
# 5.統計字符串內部字符的個數
# print(len(res)) # 12
# 6.移除字符串首尾指定的字符 strip()
# name = ' jason '
# print(name, len(name))
# print(len(name.strip())) # 默認移除首尾的空格
# name1 = '$$jason$$'
# print(name1.strip('$')) # jason
# print(name1.lstrip('$')) # jason$$
# print(name1.rstrip('$')) # $$jason
# username = input('username>>>:')
# username = username.strip()
# username = input('username>>>:').strip()
# if username == 'jason':
# print('老板好')
# else:
# print('去你妹的')
# 7.按照指定的字符切割字符串 split() 該方法的結果是一個列表
# res2 = 'jason|123|18'
# print(res2.split('|')) # ['jason', '123', '18']
# print(res2.split('|', maxsplit=1)) # ['jason', '123|18'] maxsplit用於控制切割的次數
# print(res2.rsplit('|', maxsplit=1)) # ['jason|123', '18']
"""如何查看數據類型都有哪些內置方法
句點符(.)
"""