前言:
此刻我们对“python输出图形”大约比较着重,同学们都想要剖析一些“python输出图形”的相关文章。那么小编同时在网摘上网罗了一些关于“python输出图形””的相关资讯,希望同学们能喜欢,咱们快快来学习一下吧!今天继续熟悉基础语句,熟悉range搭配for循环的用法,还有 * 用在字符串中的用法,使用print语句打印由字符组成的特定图形。
先看第一个图形:
打印这个图形非常简单,三行代码就搞定了:
len = 20for i in range(1, len): print('- ' * i, '* ' * (len - i))
len变量控制输出多少行字符图形。
range语句的特点是包前不包后,例如range(1,20)就表示1-19,不包含20。
“ * ”用在数字里表示乘法,用在字符串里表示重复,例如"-"*10,就表示把字符“-”重复10次。
再看下一个图形:
输出这个图形我尝试使用了两种办法,算是两种算法吧。
第一种方法:
s = 0for i in range(19, 0, -2): print(' ' * s, '* ' * i) s += 1s = 9for i in range(1, 20, 2): print(' ' * s, '* ' * i) s -= 1
第一种方法利用for循环range里的数字控制每行需要打印的字符 * 的数量,每行前边的空个数单独统计。
变量s用来记录每行开始需要打印的空格数,s += 1就是s = s + 1,开始打印下半部分图形时,重置s为9。
第一个for循环用来打印图形上半部分,range按照倒序计数,每次循环减2;第二个循环用来打印图形的下半部分,range从1开始,每次循环加2。
第二种方法:
for i in range(10): print(' ' * i, '* ' * (19 - i * 2))for i in range(10): print(' ' * (9 - i), '* ' * (19 - (9 - i) * 2))
第二种方法利用for循环range里的数字控制前边需要打印的空格数,每行需要打印的字符 * 的数量,等于每行总字符数减去前边空格数乘2,也就是减去两端空格数之和。