WHILE结果<值,参数** 2 =“”

时间:2017-02-06 09:05:08

标签: python while-loop

=“”

参与书籍练习后,Python和编程新手。

该程序应采用一个值,并使用WHILE在每个新行上继续打印“+1'”的力量。

我的代码:

x = 2

def powerof2_table_while(victim):
  line=1
  result=victim**(line)
  while result < 100:
""" want to write:    1.: 2 to the power of 1 is 2
               2.: 2 to the power of 2 is 4
               3.: 2 to the power of 3 is 8 """
    print (line,".:\t", victim, "to the power of\t",line,"\t is", result)
    line=line+1
    return line
  return line

resultat=powerof2_table_while(x)
print(resultat)

不是将行+受害者的表格返回到(行)的幂,而是仅返回第一行然后停止。

我可以谦卑地寻求帮助吗?非常感谢!

2 个答案:

答案 0 :(得分:1)

你的循环中有return line。一旦代码命中返回它,那么,返回;意味着函数结束,循环不会继续。

你不需要那种回报;删除它。

答案 1 :(得分:0)

除了不必要的返回,你也永远不会更新结果变量,你应该在while循环中移动它以避免无限循环和不正确的输出

result=victim**(line)
  while result < 100:

应该是

result=0
while result < 100:
    result=victim**(line)