从一个函数中分配5个不同的变量

2024-09-30 12:18:47 发布

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

我有一个函数scoring,我必须用它来创建5个变量,用整数随机选择,其中scores1是第一个变量。我希望能够分配新的变量scores2scores3scores4scores5,它们都遵循与scores1相同的路径。下面的代码没有错误;它只是我试图解释的一个示例。如何使用或编辑此函数来创建这5个随机整数变量?你知道吗

import simplegui

import random

A_plus = 3
A = 3
B = 36
C = 58

def scoring():
    global scores

    score = random.randint(1, 100)
    if score < 4:

        scores = ['97', '98', '99', '100']
        scores1 = random.choice(scores)


    if 3 < score < 7:

        scores = ['93','94','95','96'] 
        scores1 = random.choice(scores)


    if 6 < score < 45:

        scores = ['83','86','87','89']
        scores1 = random.choice(scores)


    if 44 < score < 101:

        scores = ['70','72','76','79']
        scores1 = random.choice(scores)


scoring()

Tags: 函数import路径if整数randomscorescoring
3条回答

我不知道你想做什么,但下面的代码将为你做的工作

import random

A_plus = 3
A = 3
B = 36
C = 58

def scoring():
    global scores

    score = random.randint(1, 100)
    if score < 4:

        scores = ['97', '98', '99', '100']
        scores1 = random.choice(scores)


    if 3 < score < 7:

        scores = ['93','94','95','96'] 
        scores1 = random.choice(scores)


    if 6 < score < 45:

        scores = ['83','86','87','89']
        scores1 = random.choice(scores)


    if 44 < score < 101:

        scores = ['70','72','76','79']
        scores1 = random.choice(scores)

    return scores1
score_list = []
for each in range(5):
    score_list.append(scoring())
print score_list

output : ['87', '79', '79', '89', '86']

您只需要将它绑定到一个变量。它取决于你,你可以把它放在一个列表,一个字典或单个变量

最直接的方法是在函数之外进行赋值。然后很容易将结果放入任何所需的变量中:

def scoring():
    score = random.randint(1, 100)
    if score < 4:
        scores = ['97', '98', '99', '100']
        score = random.choice(scores)
    if 3 < score < 7:
        scores = ['93','94','95','96'] 
        score = random.choice(scores)
    if 6 < score < 45:
        scores = ['83','86','87','89']
        score = random.choice(scores)
    if 44 < score < 101:
        scores = ['70','72','76','79']
        score = random.choice(scores)
    return score

score1 = scoring()
score2 = scoring()
score3 = scoring()
score4 = scoring()
score5 = scoring()

我想这就是你想要的:

import random

def scoring(score):
    if 0 <= score < 4:
        scores = ['97', '98', '99', '100']
        return random.choice(scores)
    elif 4 <= score < 7:
        scores = ['93','94','95','96'] 
        return random.choice(scores)
    elif 7 <= score < 45:
        scores = ['83','86','87','89']
        return random.choice(scores)
    elif 45 <= score <= 100:
        scores = ['70','72','76','79']
        return random.choice(scores)

l = [3, 3, 57, 70, 99] # these are the list of variables
scores = [scoring(score) for score in l]
print(scores)

输出:

['100', '97', '89', '72']

由于输出是随机的,以上输出仅供参考。你知道吗

相关问题 更多 >

    热门问题