python - 数字选择器程序随机返回“无”
问题描述
我正在尝试创建一个程序来在 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))
解决方案
你只需要添加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))
推荐阅读
- sql-server - 计算字段的 AVG
- dart - 为什么 map 的值变成了一个奇怪的值?
- android - android ndk 系统调用上的一个神秘错误
- haskell - 使用原始递归对二进制自然数进行加法
- angular - 发送带有文件的表单数据时我做错了什么
- reactjs - Chrome 在自动填充时显示密码而不是电子邮件
- javascript - Firebase 连接问题;消息端口在收到响应之前关闭
- haskell - 为什么产品有界?
- scala - Shapeless,如何证明 Nat 在 Sized 范围内?
- node.js - 使用express js和mongodb发布插入多个数据