你好,我是python的新手,有一个我遇到的问题:
这是打印空心钻石的原始代码:
def print_diamond(height):
"""prints hollow diamond"""
print("{:^{}}".format("*", height))
for i in range(1, height // 2):
print("{:^{}}".format("*" + " " * (2*i - 1) + "*", height))
for i in range(height // 2, 0, -1):
print("{:^{}}".format("*" + " " * (2*i - 1) + "*", height))
print("{:^{}}".format("*", height))
#test code
print_diamond(5)
print_diamond(3)
print_diamond(7)
这将输出:
*
* *
* *
* *
*
*
* *
*
*
* *
* *
* *
* *
* *
*
您将如何转换此代码以打印实心菱形?
*
*
***
*
*
***
*****
***
*
*
***
*****
*******
*****
***
*
使用这些测试:
print_diamond(1)
print_diamond(2)
print_diamond(3)
print_diamond(4)
我尝试通过添加“ *”来更改格式,但这会将另一个“ *”推到一边。谢谢。
在空格“”中添加“ *”不能解决该问题,因为格式不能用于纯菱形测试代码。
它当前不应输出:
*
*
*
***
*
*
***
*
答案 0 :(得分:0)
只需在以下几行中将" "
替换为"*"
:
print("{:^{}}".format("*" + "*" * (2*i - 1) + "*", height))