(Python3)Triforce题目要求您打印给定大小的三个小三角形。 在此题目(Nforce)中,需要打印任意数量的给定大小的三角形。
您的程序将从标准输入中获取三角形高度和三角形行数。
行的高度和数量都应在[1,20]的范围内。
如果高度无效或缺失,请打印'invalid height'。 并退出。
如果行数无效或缺失,则打印'invalid number of rows'。 并退出。
每行输出后应该没有尾随空格。
Triforce题目的代码和输出结果:
import sys
zyz_k = input('输入高度: ')
z = int(zyz_k)
print()
def zyz(a):
if a==z-1:
sys.stdout.write('/'+'_'*(2*z-2)+'\\')
else:
sys.stdout.write(' '*(z-a-1)+'/'+' '*2*a+'\\')
if(not zyz_k.isdigit()):
print('Invalid height.')
elif z > 20 or z < 2:
print('Invalid height.')
else:
for l in range(2*z):
if l<int(zyz_k):
sys.stdout.write(' '*z)
zyz(l)
print()
else:
g=l-z
zyz(g)
sys.stdout.write(' '*(z-g-1))
zyz(g)
print()
输出结果:
1:
输入高度: 5
2:
输入高度: 64
Invalid height.
3:
输入高度: -64
Invalid height.
4:
输入高度: zelda
Invalid height.
此题目(Nforce)要求输出结果:
1
输入高度(Enter height): 1
输入行数(Enter number of rows): 1
/\
2
3
输入高度(Enter height): 5
输入行数(Enter number of rows): ok
Invalid number of rows.
4
输入高度(Enter height): 5
输入行数(Enter number of rows): 21
Invalid number of rows.
5
输入高度(Enter height): 5
输入行数(Enter number of rows): 0
Invalid number of rows.
6
输入高度(Enter height): ok
Invalid height.
7
输入高度(Enter height): 0
Invalid height.