1. 程式人生 > 其它 >九九乘法表,金字塔

九九乘法表,金字塔

3.17

今日內容:

Str 基礎使用

用途:用來記錄描述性質的狀態
定義:在 “ ” , ‘ ’ ,‘’‘ ’‘’內包含一串字元

資料型別轉換:可以把任意型別轉成Str

res = str([1,2,3])
print(res,type(res))#[1, 2, 3] <class 'str'>
切片:

注意:切片取前不取後

msg = "hello world"
print(msg[0:5])   #起始位置:結束位置 輸出結果:hello
print(msg[0:6:2]) #起始位置:結束位置:步長  輸出結果:hlo
print(msg[:]) #完全拷貝字串:hello world
print(msg[-1:-4:-1]) #倒著取值 
長度:
msg = "ni hao"
print(len(msg)) #輸出msg的字串長度 結果:6
成員運算:
msg = "nihao"
print("ni" in msg) #True
移除空白strip

strip 兩邊若有空格且有符號,可以在strip(” “)雙引號中,加入空格符和其他符號

name = " *hello- "
name1 = name.strip()
print(name1) #strip() 去除字串兩邊空格 結果:*hello-
name2 = name1.strip("*-")
print(name2) # strip("*-")去除空格符號 結果:hello
切分split(有規律的字串):
msg = "egon:18:male"
res = msg.split(":")
print(res) #按照符號切分['egon', '18', 'male']
res1 = msg.split(":",1)
print(res1)#只切一次['egon', '18:male']

拼接join:

join 拼接字元,需要賦值給全新的一個變數名

join 拼接列表,全為字串,存在數字報錯

join 也可以連線元組,全為字串,存在數字報錯

info = ["egon","18","male"]
res = ":".join(info)
print(res) # 相加到一塊 結果為egon:18:male
乘法口訣表:
for x in range(1,10):         # 取值1到9 
    for y in range(1,x+1):    # 根據 x 取值依次增加 
        print(x,"X",y,"=",x*y,end = ("  "))
    print("")
'''
1 X 1 = 1  
2 X 1 = 2  2 X 2 = 4  
3 X 1 = 3  3 X 2 = 6  3 X 3 = 9  
4 X 1 = 4  4 X 2 = 8  4 X 3 = 12  4 X 4 = 16  
5 X 1 = 5  5 X 2 = 10  5 X 3 = 15  5 X 4 = 20  5 X 5 = 25  
6 X 1 = 6  6 X 2 = 12  6 X 3 = 18  6 X 4 = 24  6 X 5 = 30  6 X 6 = 36  
7 X 1 = 7  7 X 2 = 14  7 X 3 = 21  7 X 4 = 28  7 X 5 = 35  7 X 6 = 42  7 X 7 = 49  
8 X 1 = 8  8 X 2 = 16  8 X 3 = 24  8 X 4 = 32  8 X 5 = 40  8 X 6 = 48  8 X 7 = 56  8 X 8 = 64  
9 X 1 = 9  9 X 2 = 18  9 X 3 = 27  9 X 4 = 36  9 X 5 = 45  9 X 6 = 54  9 X 7 = 63  9 X 8 = 72  9 X 9 = 81

'''
        
金字塔:

案例1:

number = 5    
for x in range(1,number+1):     #畫了多少行 
    for y in range(number-x):   #畫空格 x 由於從1開始迴圈,所以這次空格為5-1=4
        print(" ",end="")
    for z in range(2*x - 1):    #畫符號"*",由於x為1,此時取值(0,1)為0,只畫一次
        print("*",end="")
    print("")
'''
    *
   ***
  *****
 *******
*********
'''

案例2:

# 固定畫金字塔
xing_nmuber = 1 # 開局幾個 *
none_number = 4 # 開局幾個空格

for a in range(5): # 畫幾行
    for b in range(none_number):
        print(" ",end="")
    none_number-=1
    for i in range(xing_nmuber):
        print("*",end="")
    xing_nmuber+=2
    print()

案例3:

# 互動金字塔 - “ 略不規則金字塔 ” 行數 - 空格數 ≤ 1 才能形成類似金字塔!
xing_nmuber = int(input("開局幾個*?"))   # 開局幾個 *
none_number = int(input("開局幾個空格?")) # 開局幾個空格
lin_number = int(input("要畫幾行?"))     # 畫幾行
for a in range(lin_number):      # 畫行
    for b in range(none_number): # 畫空格
        print(" ",end="")
    none_number-=1
    for i in range(xing_nmuber): # 畫行
        print("*",end="")
    xing_nmuber+=2
    print()

案例4:

number = 5
for i in range(1,number+1):
    print((((2*i-1)*"*").center((2*i-1+(number-i)*2))))
'''
執行結果:
    *    
   ***   
  *****  
 ******* 
*********
'''