您是否在每行的开头打印一个额外的字符? - 主要错误左对齐金字塔
Are you printing an additional character at the beginning of each line? - main error left aligned pyramid
我目前在 cs50 的 pset6,mario-less。我的代码按照问题的要求编译并打印了左对齐的金字塔,但是当我执行 check50 时,大多数都失败了。有什么问题?
from cs50 import get_int
# Ask user for input
n = get_int("Height: ")
# While loop to check condition
while n < 1 or n > 8:
print("Invalid number ")
n = get_int("Enter another number: ")
# One for loop to prin left sided piramid
for j in range(1, n + 1):
spaces = n - j + 1
print(" " * spaces + "#" * j)
按照目前的情况,对于 n == 5
,您的代码将打印:
#
##
###
####
#####
但是,我们希望避免在每一行的开头出现额外的 space 并得到:
#
##
###
####
#####
因此只需将要添加的 space 的数量减少 1:
# One for loop to print left sided pyramid
for j in range(1, n + 1):
spaces = n - j
print(" " * spaces + "#" * j)
我目前在 cs50 的 pset6,mario-less。我的代码按照问题的要求编译并打印了左对齐的金字塔,但是当我执行 check50 时,大多数都失败了。有什么问题?
from cs50 import get_int
# Ask user for input
n = get_int("Height: ")
# While loop to check condition
while n < 1 or n > 8:
print("Invalid number ")
n = get_int("Enter another number: ")
# One for loop to prin left sided piramid
for j in range(1, n + 1):
spaces = n - j + 1
print(" " * spaces + "#" * j)
按照目前的情况,对于 n == 5
,您的代码将打印:
#
##
###
####
#####
但是,我们希望避免在每一行的开头出现额外的 space 并得到:
#
##
###
####
#####
因此只需将要添加的 space 的数量减少 1:
# One for loop to print left sided pyramid
for j in range(1, n + 1):
spaces = n - j
print(" " * spaces + "#" * j)