我只是这样做......
while not something():
pass
但我希望函数something()返回除True或False以外的其他值,特别是列表。在C中我只是通过插入引用作为参数来返回它,但Python似乎不喜欢这样做。因此,在something()函数中,我显然只返回2个值。我很好。我遇到的问题是带有while循环的代码看起来并不优雅,所以我认为必须有更好的方法。
在C:
int a[2];
while(!something(a)); //presume that 'a' updates and the loop breaks
在Python中:
bool_value, a = something()
while not bool_value:
bool_value, a = something()
我知道这不是什么大问题,但事实上我必须两次写同一行似乎有点不好。是否有某种语法可以用来调用函数并在while行中返回'a'?
答案 0 :(得分:3)
User
答案 1 :(得分:0)
user2393267的答案是在Python中执行if('' == 0)
种结构的惯用方法。但是,您可以按照与列表案例的问题完全相同的模式:
do..while
它不是非常Pythonic,但它实际上会起作用并允许您修改a = [1, 2, 3]
while not something(a):
pass
。