所以我在edX上做了Python教程。我被困了,因为我无法摆脱" NONE"结果。有人能告诉我为什么会这样,以及如何避免它?感谢。
def steps(aNum):
count = 1
tabs = " "
for x in range(1, aNum + 1):
strNum = str(x) * 4
numTabs = tabs * count
count += 1
result = numTabs + strNum
print(result)
结果:
1111
2222
None
我想要的结果是:
1111
2222
答案 0 :(得分:1)
您必须使用
打印功能返回(不存在)print(steps(2))
相反,只需使用
即可steps(2)
此外,您对count变量有不必要的复杂性,因为您已经有x在循环中提供相同的值序列。这更简单。
def steps(aNum):
tabs = " "
for x in range(1, aNum + 1):
strNum = str(x) * 4
numTabs = tabs * x
result = numTabs + strNum
print(result)
答案 1 :(得分:-1)
您获得的是无价值,因为您没有返回任何功能。如果不返回任何函数,则返回无值,因此在调用函数时将不会打印任何值。要避免使用return或yield语句,或者我推断您使用的函数为:
id
代替使用以下代码:
var = steps(aNum) # this will assign None value to var but before assigning None value it has already print your desire values as result
print(var) # when None is assigned to var it will be printed in output.
注意:上面的行steps(aNum) # just print statement within function
未分配,因此它只会在函数中打印语句。