Python 为什么此函数仍可能返回0?
为什么rand_numb返回一个仍然可以为0的随机数Python 为什么此函数仍可能返回0?,python,python-2.7,Python,Python 2.7,为什么rand_numb返回一个仍然可以为0的随机数 def check_rand(numb): if numb == 0: numb += 1 return numb else: return numb def random_row(board): rand_numb = randint(0, len(board[0]) - 1) check_rand(rand_numb) return rand_num
def check_rand(numb):
if numb == 0:
numb += 1
return numb
else:
return numb
def random_row(board):
rand_numb = randint(0, len(board[0]) - 1)
check_rand(rand_numb)
return rand_numb
调用函数check\u rand()
,然后丢弃其结果。将其更改为:
rand_numb = check_rand(rand_numb)
调用函数check\u rand()
,然后丢弃其结果。将其更改为:
rand_numb = check_rand(rand_numb)
您可以通过替换以下内容来避免需要该功能:
rand_numb = randint(0, len(board[0]) - 1)
与:
这使得
randint
的结果最小:1
;与0
不同,您可以通过更换以下部件来避免需要该功能:
rand_numb = randint(0, len(board[0]) - 1)
与:
这使得
randint
的结果最小:1
;与0
@user33494991相比,请注意,在您的代码中,1
比其他电位更可能成为结果,但这可能是您想要的。@user3349491请注意,在您的代码中,1
比其他电位更可能成为结果,但这可能是您想要的。