首页 > 解决方案 > 数字选择器程序随机返回“无”

问题描述

我正在尝试创建一个程序来在 python 中随机选择一个数字而不是重复自己。但由于某种原因,当我猜测一个数字将要重复时,它会返回“无”。我对python很陌生,我的代码真的很混乱而且很坚持,所以如果有人能在这里帮助我或者展示一个更好的方法,那就太好了,谢谢。

import random

lastChoice = 0

def choseNewNumber(num1, num2):
    x = random.randint(num1, num2)

    global lastChoice
    if x == lastChoice:
        choseNewNumber(num1, num2)

    else:
        lastChoice = x
        return x

for i in range(1, 50):
    print(choseNewNumber(1, 10))

标签: python

解决方案


你只需要添加return递归,代码应该是,

import random

lastChoice = 0

def choseNewNumber(num1, num2):
    x = random.randint(num1, num2)

    global lastChoice
    if x == lastChoice:
        return choseNewNumber(num1, num2)
    else:
        lastChoice = x
        return x

for i in range(1, 50):
    print(choseNewNumber(1, 10))

推荐阅读