新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
以前写的,你看看是否有所帮助
为黄山区等地区用户提供了全套网页设计制作服务,及黄山区网站建设行业解决方案。主营业务为网站设计制作、成都做网站、黄山区网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
def center_window(self,master,width_flag = 0.382,height_flag = 0.382):
"""
窗口先隐藏到大小设置完成以后才恢复,主要原因是如果不这么做,会发生闪影现象。
width_flag 和 height_flag 值在 (0,1) ,是定位目标左上角的坐标的权重值。
都设置为 0.5 的话,则窗口居中。
withdraw() 函数是隐藏窗口,deiconify() 函数是显示窗口。
update() 函数是将前面原件摆放以后的窗口更新,以便获得摆放后窗口的自适配大小。
"""
master.withdraw()
master.update()
current_window_width = master.winfo_width()
current_window_height = master.winfo_height()
screen_width = master.winfo_screenwidth()
screen_height = master.winfo_screenheight()
suitable_location_x = int((screen_width - current_window_width)*width_flag)
suitable_location_y = int((screen_height - current_window_height)*height_flag)
master.geometry('+{}+{}'.format(suitable_location_x,suitable_location_y))
master.deiconify()
居中的杨辉三角
python实现居中的杨辉三角

晒冷-
原创
关注
7点赞·6152人阅读
先来看一下普通的杨辉三角,代码和输出是长成这样
def YangHui(n):
print([1])
line = [1,1]
for i in range(2,n):
r = []
for j in range(0,len(line) - 1):
r.append(line[j] + line[j + 1])
line = [1] + r + [1]
print(line)
if __name__ == '__main__':
YangHui(5)
登录后复制

输出:
那么如何输出形如
的杨辉三角呢?很自然的就是想到把上面的函数输出居中。
那么居中我们除了自己写循环加空格,python还有没有函数能完成呢?
答案是有的,不过只能将字符串的输出居中
Python center() 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。默认填充字符为空格。
center()方法语法:
str.center(width[, fillchar])
width – 字符串的总宽度。
fillchar – 填充字符。
演示代码:
mess = "Hello Word"
print("|",mess.center(30,'*'),"|")
print("|",mess.center(50,'*'),"|")
print("|",mess.center(50),"|")
登录后复制
详细参考:
center()方法
Python 输出字符串左对齐、右对齐、居中对齐
注意到原始的杨辉三角输出的是列表,为了能使用center()函数将输出居中,我们还需做一个工作:将数字列表转换成字符串
定义这样一个函数
1. 字符串字母处理
2. 字符串填充
str.ljust(width, fillchar)、str.center(width, fillchar)、str.rjust(width, fillchar)
返回一个指定的宽度 width 「居左」/「居中」/「居右」的字符串,如果 width 小于字符串宽度直接返回字符串,否则使用 fillchar 去填充。
3,字符串计数
str.count(sub, start, end)
#统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。
start, end遵循**“左闭右开”**原则。
4. 字符串位置
str.endswith(suffix, start, end)和str.startswith(substr, beg, end)
#判断字符串是否以指定后缀结尾/开头,如果以指定后缀「结尾」/「开头」返回 True,否则返回 False。
5. 字符串查找
6. 字符串判断
7. 字符串拼接
str.join() #将序列中的元素以指定的字符连接生成一个新的字符串。
s1 = "-" s2 = "" seq = ("r", "u", "n", "o", "o", "b")
# 字符串序列 print (s1.join( seq )) print (s2.join( seq )) r-u-n-o-o-b runoob
8. 统计字符串长度
str.len() #返回对象(字符、列表、元组等)长度或项目个数。
9. 去除字符两侧空格
str.lstrip()、str.rstrip()、str.strip() #截掉字符串「左边」/「右边」/「左右」两侧的空格或指定字符。
str0 = ' Hello World!' str0.lstrip() 'Hello World!' str1 = 'aaaa Hello World!' str1.lstrip('a') ' Hello World!'
10. str.maketrans(intab, outtab)和str.translate(table)
str.maketrans()创建字符映射的转换表
str.maketrans()根据参数table给出的表转换字符串的字符。
str.maketrans()传入的也可以是字典
tab = {'e': '3', 'o': '4'} trantab = str.maketrans(tab) str0.translate(trantab) 'H3ll4 W4rld!'
11. 字符串替换
str.replace(old, new, max)
12. 字符分割
str.split(str, num)
13. 字符填充
str.zfill(width)
返回指定长度的字符串,原字符串右对齐,前面填充0。