如何实现随机读取列表?因此,如果将 l = 60 输入到变量中,那么它会以不同的方式对列表中的这 60 个进行求和,而不是每次都输出相同的结果。计划制作一个程序,您可以在其中输入汽油量,它将计算 X 消耗的公里数。计算完公里数后,以公里数显示总共适合的人口,这样就不用去数算运单上该写什么了
from itertools import combinations
from contextlib import redirect_stdout
import io
FACK = {60:'Тлюстен 60 км', 52:'Тугургой 52 км', 36:'Казазов 36 км',
50:'Красненский 50 км', 28:'Пчегатлукай 28 км', 30:'Адыгейск 30 км', 26:'Вочепший 26 км', 12:'Пшикуйхабль 12 км',
10:'Нечерезии 10 км', 8:'Нешукай 8 км', 42:'Кунчукохабль 42 км, через аулы', 56:'Кунчукохабль 56 км через трассу',
27:'Тауйхабль 27 км', 19:'Джиджихабль 19 км', 17:'Шевченко 17 км', 37:'Габукай 37 км', 4:'тест', 33:'тест'}
l = 60 # тут вводим километры
Array = {}
f = io.StringIO()
for i in combinations(FACK, 2):# тут вписываем количество чисел на которые будет суммироваться
if sum(i) == l:
with redirect_stdout(f):# перехват выводимого значения на print()
print(*i)
break
Array = s = f.getvalue()# получает строковые значения выводимые print()'ом
ar = Array[0]
ar += Array[1]
arint = int(ar)# переабразовываем строковый в целочисленное
ar2 = Array[3]
ar2 += Array[4]
arint2 = int(ar2)
print(FACK[arint], FACK[arint2])
Тугургой 52 км Нешукай 8 км
Process finished with exit code 0
这是您通过 的选择
random.choice。一个选项被选择 10 次,表明存在随机选择。好吧,在某个地方,同一件事连续两次出现,但或多或少仍然是偶然的。输出示例:
但请记住,您选择了字典作为数据结构,您的关键是距离。您不能将两个相同的键写入字典中。如果您遇到两个相同的距离,您将必须重做所有这些。
首先,字典不允许多个子句的距离相同。让我们创建一个(距离、名称)对的列表。
其次,谁说路线上只能有两个点?我们来做几个吧。路线搜索将是递归的:有条款,你需要拨总和。
在搜索之前,距离列表会被随机打乱。