您好我正在为Grok学习(网站)测试编写代码我一直在Mac上测试我的代码(乱搞学校应该使用电脑)似乎没有任何东西出现约1分钟然后我的网页重新加载这出现在代码显示运行形式的区域:
Traceback (most recent call last):
File "program.py", line 6, in <module>
print(" " * number + "|")
MemoryError
我可以获得一些帮助,了解这一点我以前从未见过吗? (以下代码)
a=0
number = int(input("How many steps? "))
print("__")
if number != 1:
while a < number:
print(" " * number + "|")
a = a + 1
print(" " * number + "_")
number = number * 2
elif number == 1:
print("__|")
代码用于使用用户输入中的下划线和管道字符制作楼梯(包括解释的屏幕截图)
答案 0 :(得分:1)
所以假设这是输入4的所需输出:
How many steps? 4
__
|__
|__
|__
___________|
你可以这样做:
number = int(input("How many steps? "))
print("__")
for a in range(1, number):
offset = a*2 + a - 1
print(" " * (offset) + '|' + ('__' if a < number else ''))
offset = number*2 + number - 1
print("_" * (offset) + '|')
基本上你可以在开头摆脱number != 1
检查,因为它对于任何输入应该表现相同。然后循环执行步骤数。在每一步中,您都会获得偏移量,即步数(a)的两倍,加上前一个管道字符的偏移量。然后检查是否有一个步骤,因此您可以将下划线放在同一行。最后,在最后一步(在for循环之外),你只需要放置所有下划线而不是空格和最后的管道字符
答案 1 :(得分:0)
这是一个简单的版本(这也是Grok Learning建议这样做的方式)。
n = int(input("How many steps? "))
print("__")
for i in range(n - 1):
print(' '*(i + 1) + "|_")
print("__"*n + "|")
我希望这会有所帮助!