随机产生一个区间[5,10]内的整数n,分别打印具有n行的有规律字符图,如图2.4.1(a) 和(b)所示。
【提示】
(1)随机数产生要导入random 库,调用 randint(a,b)函数:
(2)利用序列range0函数,获得字母编码值,调用chr()函数将字母编码值转换成字母:
(3)对于图(b)产生奇数随机数,利用n=random.randrange(5,10,2)实现:每行字符不同可增加一个计数器变量,每输出一行加1,再转换成字母的编码值
import random
# 图(a)
n = random.randint(5,10)
for i in range(n):
s = chr(ord('a')+i)
print(' '*(n-i-1)+s*(i*2+1))
# 图(b)
n = random.randrange(5,10,2)
m = n//2+1
for i in range(m):
s = chr(ord('A')+i)
print(' '*(m-i-1)+s*(i*2+1))
for i in range(m,n):
s = chr(ord('A')+i)
print(' '*(i-m+1)+s*((n-i-1)*2+1))
import random
n = random.randint(5, 10)
length = 1 + 2*(n - 1)
count = 1
for i in range(ord('a'), ord('a') + n):
print((chr(i)*count).center(length, ' '))
count += 2
n = random.randrange(5, 10, 2)
length = n
count = 1
for i in range(ord('A'), ord('A') + n):
print((chr(i)*count).center(length, ' '))
if (i - ord('A')) + 1 > n/2:
count -= 2
else:
count += 2