gpt4 book ai didi

python - 使变量彼此不相等

转载 作者:太空宇宙 更新时间:2023-11-03 17:34:54 24 4
gpt4 key购买 nike

我目前正在编写一个代码,其功能是用一个函数填充一个二维数组,该函数计算 范围 (1,10) 内的值 x 的倍数。

def find_multiples (twolist, count) : 

n = random.randrange(1,10)

for i in range(count) :
for j in range(count) :
x = random.randrange(0,101,n)
twolist[i][j] = x

下一部分是在数组中的随机位置随机输入一个与 x 不同的值“y”。

y = random.randrange(0,101)
a = random.randrange(count)
b = random.randrange(count)
twolist[a][b] = y
return twolist, y

我的问题是,如何使 y 的值与 x 不同?我在想也许我必须创建一个单独的定义函数来检查 y 是否不是 n 的倍数,但我不太确定如何表达它。

def check_diffmult (numx , numy) :

for i in range(1,numx) :
if numy = random.randrange(0,101,i) :

这是我迄今为止的尝试,但我知道它已经失败了。

编辑:感谢您到目前为止的回复!到目前为止,除了这个之外,代码没有太多其他内容。总体目标是存在一个随机整数 y,它与通过函数的 n 倍数的模式不同。不确定这是否足以解决问题!另外,我进一步阅读了一篇回复,y 与 x + 1 一样简单,但我对通过简单地添加或减去来更改 y 的值犹豫不决,因为 y 可能会意外地成为随机选择的值的倍数之一“n”。

编辑2:

def check_diffmult (numx , numy) :
check_list = []
check_list.append(numx)
if numy == check_list :
return 0
return 1

def find_multiples (twolist, count) :

n = random.randrange(1,10)
for i in range(count) :
for j in range(count) :
x = random.randrange(0,101,n)
twolist[i][j] = x

while True :

y = random.randrange(0,101)
check = check_list(x,y)
if check == 1 :
a = random.randrange(count)
b = random.randrange(count)

twolist[a][b] = y
break

return twolist, y

将代码更改为 y != x 。这是可行的代码吗?

最佳答案

怎么样:

x, y = random.sample(range(0, 101, n), 2)

引用docs :

random.sample(population, k)

Return a k length list of unique elements chosen from the population sequence or set. Used for random sampling without replacement. [...]

To choose a sample from a range of integers, use an range() object as an argument.

(如果您使用的是 Python 2,您可能需要使用 xrange()。)

关于python - 使变量彼此不相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31336060/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com