while循环返回任何内容

时间:2016-12-10 15:32:53

标签: python python-2.7

该功能应该打印一个列表 - 当#pa;'包含在列表中。但是,它什么也没有返回。它出了什么问题?

此外,str(list)是将结果存储在输出中的最佳方法吗?

def addingpaige(s):
   list = ["paige", "peter", "eric"]
   result = ""
   while "paige" and "peter" in list:
        result = result + str(list)
   return result
print addingpaige(["paige", "peter", "eric"])

2 个答案:

答案 0 :(得分:2)

  1. 您似乎将列表["paige", "peter", "eric"]作为addingpaige()的参数,但后来没有对其进行任何操作,而是在该函数中定义list

  2. while "paige" and "peter" in list:and不会以这种方式工作。相反,请测试"paige" in list然后"peter" in list。换句话说,这变为while "paige" in list and "peter" in list:

  3. 在这种情况下,while条件总是True,所以这会给你一个无限循环。只有一个可以在迭代之间改变的while条件,和/或在while循环中有一些可以突破它的东西。

  4. list是关键字,因此可能会为您的列表选择其他名称。

  5. 但是,我不清楚你想做什么。就目前而言,代码是无意义的,因为它包含无限循环。根据条件,addingpaige()应该打印什么?

答案 1 :(得分:0)

"paige" and "peter"实际评估为"peter"。此代码有效地说:while字符串"peter"存在in list保持循环。

相关问题