day03_步入百萬年薪的第三天——整型、字符串、for循環

day03

整型

用於比較和運算

32位:-2 ** 31——2 ** 31-1

64位:-2 ** 63——2 ** 63-1

長整型(long)

python2中有長整型、獲取的是整數

python3中只有整型、獲取的是浮點數(小數)

進制轉換

十六進制 八進制

二進制 ——0、1

bin():十進制轉二進制 ,一直除二餘1或0,從下往上

int():二進制轉十進制,從右往左:1 2 4 8 16 32

# 15  1
# 7   1
# 3   1
# 1   1

# 24    0
# 12    0
# 6     0
# 3     1
# 1     1

# 186     0
# 93      1
# 46      0
# 23      1
# 11      1
# 5       1
# 2       0
# 1       1

print(bin(186))  #十進制轉為二進制

# 111000  # 從右向左進行計算
# 0 * 2 ** 0 + 0 * 2 ** 1 + 0 * 2 ** 2 + 1 * 2**3 + 1*2 ** 4 +1 * 2** 5
# 0 + 0 + 0 + 8 + 16 + 32

# 10101
# 1 * 2 ** 0 + 0 * 2**1 + 1* 2**2 + 0 * 2**3 + 1* 2 **4
# 1  +  0 + 4 + 0 + 16

print(bin(21))
print(int("10101",2)) #將二進制轉換成十進制
print(bin(21))        # 將十進制轉換成二進制

int(True)==1

int(False)==0

布爾值(bool)

数字非零就是True,零就是false

字符串只要是不為空就是True,為空就是false

bool()轉為布爾值

字符串

引號引起來的就是字符串

字符串是用來存儲少量的數據

索引

name = "meat"  # meat 每一個字母叫做一個元素
       #0123  從左向右
       #-4-3-2-1 從右向左
       #索引(下標)  通過索引可以精確的定位到每個元素
print(name[-1])
print(name[100]) # 索引值超出範圍會報錯

切片

name = "今天是個好日子"
# a = name[0]
# b = name[1]
# print(a+b)
print(name[0:2]) # 顧頭不顧尾  name[起始位置:終止位置]
print(name[2:]) # 某個位置不指定的時候默認取最後或最前
print(name[-2:-5:-1]) # [起始位置:終止位置:步長]步長默認為1,通過步長可以決定方向和邁的步子數

print(name[-6:6])   # 可以正負一起用

print(nam[100:105]) # 起始位置和終止位置都超出的時候不會報錯

# s = 'Python最NB'
# # 獲取s字符串中前3個內容
# print(s[0:3])
# # 獲取s字符串中第3個內容
# print(s[2])
# # # 獲取s字符串中后3個內容
# print(s[6:])
# # # 獲取s字符串中第3個到第8個
# print(s[2:8])
# # # 獲取s字符串中第2個到最後一個
# print(s[1:])
# # # 獲取s字符串中第1,3,5個內容
# print(s[:5:2])
# # 獲取s字符串中第2,4,6個內容
# print(s[1:6:2])
# # 獲取s字符串中所有內容
# print(s[:])
# # 獲取s字符串中第4個到最後一個,每2個取一個
# print(s[3::2])
# # 獲取s字符串中倒數第5個到最開始,每3個取一個  
# print(s[-5::-3])

字符串的方法

字符串系列

upper():全部大寫

lower():全部小寫

s = "alex"
s1 = s.upper()
s2 = s1.lower()
print(s1,s2)

# 應用場景
# s = input("驗證碼(asdf1中):")
# if s.upper() == "asdf1中".upper():
#     print("驗證碼正確")
# else:
#     print("驗證碼錯誤")

startswith():判斷是不是以 內容 開頭

使用:startswith(“內容”,起始位置,終止位置)

endswith():判斷是不是以 內容 結尾

使用:endswith(“內容”,起始位置,終止位置)

s = "alex"
s1 = s.startswith("a")
s2 = s.startswith("l",1,6)

s3 = s.endswith("x")
s4 = s.endswith("e", 1,3)

count():統計個數

s = "alexdsbxxasdx"
s1 = s.count("x")
print(s1)

strip()(脫): 去掉字符串頭尾兩端的空格和換行符\n、製表符\t

也可以脫去內容:strip(“內容”),如果有多個內容是先去掉內容的各一個,然後再組合起來去掉

# n = input(">>>")
# if n.strip() == "alex":
#     print("1")
# else:
#     print("2")

# s = "alexdsba"
# s1 = s.strip("a") # 可以指定內容取脫
# print(s1)

# 如果有多個內容是先去掉內容的各一個,然後再組合起來去掉
s = "alexdsba"
s1 = s.strip("ba") 
s2 = s.strip("ab")
print(s1)  # 結果是lexds
print(s2)  # 結果是lexds   結果是一樣的 

split():分割字符串的空格和換行符\n、製表符\t,也可以分割其他內容,也可以選擇切幾次

split(“內容,次數”)

lsplit():從左開始

rsplit:從右開始

s = "aelx asd ww"
s1 = s.split()
print(s1)  # ['aelx', 'asd', 'ww']


# s = "aelxlaaa"
# s1 = s.split("l",maxsplit=1)  # 可以通過指定方式進行切割,並且可以安排次數
# print(s1)   # ['ae', 'xlaaa']

replace():替換

replace(“舊的值”,”新的值”,次數)

# s = "大黑哥吃肉夾饃,肉夾饃"
# s1 = s.replace("肉夾饃","大煎餅")
# s1 = s.replace("肉夾饃","大煎餅",1) # 指定替換的次數
# print(s1)
is 系列

isalnum():判斷是不是字母、数字、中文

isalpha():判斷是不是字母和中文

isdigit():判斷字符串中是不是全是有阿拉伯数字

isdecimal():判斷字符串是不是十進制數

# s = "12.3"
# print(s.isalnum()) # 判斷是不是字母,数字,中文
# print(s.isalpha())  # 判斷是不是字母,中文
# print(s.isdigit())  # 判斷字符串是不是全都是阿拉伯数字
# print(s.isdecimal())  # 判斷是否是十進制

for循環

for+空格+變量名+in+可迭代對象

縮進+代碼

for 關鍵字

i 是變量名,變量可以自己修改

in 關鍵字

name 可迭代對象,數據類型中只有整型和布爾值不能夠進行for循環

"""
你
好
啊
"""

# count = 0
# while count < len(name):
#     print(name[count])
#     count += 1

# name = "你好啊"
# for x in name:  # for循環
#     print(x)

# name = "你好啊"
# for i in name:  # for循環
#     print(i)

# i = "你"
# print(i)
# i = "好"
# print(i)
# i = "啊"
# print(i)


# print(3)
# print(54)
# print(67)
# print(i)

# name = "alex"
# for x in name:
#     print(x)
# print(x)

面試:

一、

for i in "alex"
    pass
print(i)
# 結果是 
# x
# 特殊題
name = "alex"
for x in name:
    print(x)
print(x)
# 結果是:
# a
# l
# e
# x
# x

其他知識:

1.pass 、… 是佔位:佔著位置,使程序不會產生錯誤

2.len()獲取長度

name = "asdsafsafasd"
print(len(name))
点赞

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *