如何根据值更改列表值?

2024-06-15 09:52:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我很抱歉,如果标题是误导,如果这个问题已经被问到,但我个人找不到任何地方。你知道吗

在我的整个项目中,X是你的智力,列表是你的成绩(列表[0]是**,列表[1]是*等等)。所以智力越高,你得到**和A*的几率就越高

我有一个脚本,它生成一个随机长度的列表,其中随机整数的和为指定的数字。你知道吗

from random import randint as ri

x = 72

def seq(n): #Returns list of random length of random ints that add to n

    a = []

    def f(n):
        m = ri(1, n)
        if n > m:
            a.append(str(m))
            return f(n - m)
        else:
            a.append(str(n))
            return n

    f(n)
    return a #Will return ["4", "2", "3", "1"] for example

我想要的是,x越高,第一项增加的越多,最后一项减少的越多。你知道吗

例如,说:

x = 26

#I want ["4", "2", "3", "1"] to turn into something like ["4", "3", "2", "1"]

但如果:

x = 80

#I want ["4", "2", "3", "1"] to turn into something like ["6", "4", "2", “0”]  

抱歉,如果我的措辞令人困惑,我真的很难把这个问题用语言表达出来(这发生在我们所有人身上,不是吗;)


Tags: ofto列表returndefrandomsomethingturn