九九乘法表,金字塔

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))))
'''
运行结果:
    *    
   ***   
  *****  
 ******* 
*********
'''
posted @ 2021-07-08 11:40  zhhhqq  阅读(175)  评论(0)    收藏  举报