File "c:/Users/apple/Desktop/程序/py/5 copy.py", line 12, in generate_graph edges = random.sample(nodes, random.randint(1, 10)) File "C:\Python36-32\lib\random.py", line 318, in sample raise ValueError("Sample larger than population or is negative") ValueError: Sample larger than population or is negative
时间: 2024-04-23 21:27:45 浏览: 155
laravel-tutorial:https://www.youtube.comwatch?v = BXiHvgrJfkg&ab_channel = Bitfumes
这个报错是由于使用 `random.sample()` 函数时,抽样的数量大于节点的总数,或者抽样的数量为负数。`random.sample()` 函数的第二个参数是抽样的数量,而第一个参数是要从中进行抽样的序列。
请确保你传递给 `random.sample()` 函数的第一个参数是一个包含节点的序列,并且第二个参数是一个大于等于0且小于等于序列长度的整数。
例如,如果你有一个包含节点的列表 `nodes`,你可以使用以下方式进行抽样:
```python
import random
# 假设有一个包含节点的列表
nodes = ['A', 'B', 'C', 'D', 'E']
# 随机抽取1到10个节点
sample_size = random.randint(1, min(len(nodes), 10))
edges = random.sample(nodes, sample_size)
```
在这个例子中,`sample_size` 是一个在1到10之间的随机整数,确保不会超过节点的数量。然后使用 `random.sample()` 函数从 `nodes` 列表中抽取 `sample_size` 个节点。
请检查一下你的代码,确保你在调用 `random.sample()` 函数时遵循了以上的方法。如果问题仍然存在,请提供更多相关代码,我将尽力帮助你解决问题。
阅读全文