【问题标题】:Creating shapes or letters using Python使用 Python 创建形状或字母
【发布时间】:2014-03-29 20:31:30
【问题描述】:
所以我正在尝试使用 Python 从星号中创建字母 H,但我似乎无法弄清楚如何创建一条要穿过的垂直线以便使用我拥有的代码创建字母 H写到这里:
def across(n):
for i in range(n):
print ('*', end=' ')
print()
def straight(n):
for i in range(n):
print ('*')
def main():
n=6
straight ((n-3)//2)
across(n//2)
straight ((n-3)//2)
main()
这是输出:
*
***
*
有什么想法吗?感谢您提前提供任何帮助。
【问题讨论】:
标签:
python
function
ascii-art
【解决方案1】:
您必须一次打印一行。切换到下一行后,您将无法返回上一行。所以,这个想法是(例如对于高度 3),在第一次迭代时,代码应该打印“star star”。它应该更改为下一行('\n'),然后打印“starstarstar”,因为它是中间行。最后,在最后一行“star star”上再次出现。希望这会有所帮助。
def line(a):
print "*",
for j in range(a-2):
print " ",
print "*",
def middleLine(a):
for j in range(a):
print "*",
a = int(raw_input("Enter height (odd numbers only greater than 3): "))
for i in range(a):
if i != (a / 2):
line(a)
else:
middleLine(a)
print