建立一个由星号组成的三角形的程序
Program that builds a triangle made of asterisks
这是本书中显示的一模一样的副本,从 Python 开始。
base_size = 8
def main():
for r in range(base_size):
for c in range(r + 1):
print('*')
print()
main()
但它没有给出正确答案:
*
**
***
****
*****
******
*******
********
这是程序的输出,在新行中打印每个 *。那么究竟有什么问题呢?
*
*
*
*
*
*
base_size = 8
def main():
for r in range(base_size):
for c in range(r + 1):
print('*',sep=" ",end="")
print()
main()
也许您可以尝试在最后的代码中插入 (sep=" ",end="") 。
希望能帮到你
或者你可以试试更简单的
例如:
base_size = 8
def main():
for r in range(1,(base_size)):
print("*"*r)
main()
因为print
输出你告诉它的内容加上一个换行符。如果你想输出 没有 换行符的字符,你需要稍微不同地做。
Python 3 允许你为print
函数指定终止符:
base_size = 8
def main():
for r in range(base_size):
for c in range(r + 1):
print('*', end="")
print()
main()
但是,如果您使用 Python 2,您可以只使用:
import sys
sys.stdout.write('*')
对于等效行为,如:
import sys
base_size = 8
def main():
for r in range(base_size):
for c in range(r + 1):
sys.stdout.write('*')
sys.stdout.write('\n')
main()
这是本书中显示的一模一样的副本,从 Python 开始。
base_size = 8
def main():
for r in range(base_size):
for c in range(r + 1):
print('*')
print()
main()
但它没有给出正确答案:
*
**
***
****
*****
******
*******
********
这是程序的输出,在新行中打印每个 *。那么究竟有什么问题呢?
*
*
*
*
*
*
base_size = 8
def main():
for r in range(base_size):
for c in range(r + 1):
print('*',sep=" ",end="")
print()
main()
也许您可以尝试在最后的代码中插入 (sep=" ",end="") 。 希望能帮到你
或者你可以试试更简单的 例如:
base_size = 8
def main():
for r in range(1,(base_size)):
print("*"*r)
main()
因为print
输出你告诉它的内容加上一个换行符。如果你想输出 没有 换行符的字符,你需要稍微不同地做。
Python 3 允许你为print
函数指定终止符:
base_size = 8
def main():
for r in range(base_size):
for c in range(r + 1):
print('*', end="")
print()
main()
但是,如果您使用 Python 2,您可以只使用:
import sys
sys.stdout.write('*')
对于等效行为,如:
import sys
base_size = 8
def main():
for r in range(base_size):
for c in range(r + 1):
sys.stdout.write('*')
sys.stdout.write('\n')
main()