如何让python在while循环中每次都采样不同的数字

如何让python在while循环中每次都采样不同的数字,python,python-3.x,random,Python,Python 3.x,Random,我想做一个应用程序来帮助学习音乐理论。它会吐出某个键的随机和弦,然后你必须键入它们来自哪个键。这将是一个了不起的工具,我,或任何人想提高他们的知识的关键 我真的离我的目标很远,但现在我有这个问题我需要克服 我知道如何让它从键中吐出随机和弦,但当我将random.sample放入while循环中时,它每次循环时都会从键中的8个和弦中吐出相同的4个和弦 为了申请,我有以下计划: 在所有键中,随机选择一个, 从那个调子中随机弹出几个和弦, 然后你找出和弦来自哪个键,你会得到另一个问题(它会用另一个随机

我想做一个应用程序来帮助学习音乐理论。它会吐出某个键的随机和弦,然后你必须键入它们来自哪个键。这将是一个了不起的工具,我,或任何人想提高他们的知识的关键

我真的离我的目标很远,但现在我有这个问题我需要克服

我知道如何让它从键中吐出随机和弦,但当我将random.sample放入while循环中时,它每次循环时都会从键中的8个和弦中吐出相同的4个和弦

为了申请,我有以下计划: 在所有键中,随机选择一个, 从那个调子中随机弹出几个和弦, 然后你找出和弦来自哪个键,你会得到另一个问题(它会用另一个随机键重复)

我是一个初学者,我想它会包括while循环,但是当它循环时,它会以不同的顺序发出相同的几个随机和弦

另外,我还没有想出如何让它选择一个随机键。也许这能解决身份证的问题

我已经尝试使用time.sleep(3)使while循环在循环之前稍等一点。我已经尝试过使用random.sample以外的其他东西,但它们带来了更多的问题,比如只发出一个和弦(当我使用random.choice时)


非常感谢您的帮助。

要找到您所描述行为的原因,请分析以下内容:

D= random.sample(list(D), 4)
在你的while循环中。 这将对列表
D
中的四个元素进行采样,然后将这四个元素的结果列表分配给变量
D

在循环的下一次迭代中点击此行时,
D
仅包含先前拾取的四个元素,因此
random。sample(list(D),4)
将一次又一次拾取相同的四个元素,仅更改选定项的顺序

要解决这个问题,请确保不同的变量不使用相同的变量名。使用更长或更具描述性的全音和弦名称可能会有所帮助,例如
chordingeyofd
chordD

D= random.sample(list(D), 4)