【发布时间】:2020-07-19 10:43:35
【问题描述】:
我正在 edx 中参加关于计算机科学的 cs50 介绍的免费在线课程。我的意思是我是这方面的初学者。现在,当他们介绍 python 编程语言时,我已经遇到了问题 6。这是一个非常简单的问题。
问题是我认为我的代码看起来很愚蠢。根据视频课程,python 应该从他们在上一课中教给我们的 c 语言编码中提高我的编码时间效率。现在这不是那么重要。只是我认为我会经常使用这个功能所以我希望有人能帮助我解释如何改进这个代码。
from cs50 import get_int
while True:
height = get_int("height: ")
if height > 0 and height < 9:
break
n = height -1
m = 1
for i in range(height):
for j in range(n):
print(" ", end="")
n -= 1
for k in range(m):
print("#", end="")
if m > height:
break
m += 1
print("")
我应该收到这样的输出:
$ ./mario
Height: 4
#
##
###
####
正如您所见,我的 for 循环看起来非常愚蠢,至少在我看来是这样的。我认为我在 c 中的代码比这个更好,因此出现了问题。
【问题讨论】:
-
确实如此。
标签: python performance loops cs50 edx