传递Var数据黑白功能

时间:2017-06-26 16:47:31

标签: python

好的,我已经搜索了数据库,并阅读了几篇文章,但似乎没有人回答我的问题,至少以我理解的方式。首先,我是Python的新手,但在C#和一些C ++方面有一些经验。在这些语言中,变量是"全球"而且你只能有一个实例。现在使用python,你似乎变量是本地变量,并且你可以拥有同名变量的多个实例。对于我不得不为学校写作的课程,我被告知使用全球传递数据是不好的做法(不要太明白这种想法)。所以我试图将数据从第一个函数传递给第二个函数。编写的代码使用全局变量,但是我试图看看如何通过数据传递它们。

    import Text from '/insert-path-to-Text-component/Text.js'

我需要帮助的是如何从变量" avg"中获取值。在calculate_average()中并将其传递给determine_grade()。

3 个答案:

答案 0 :(得分:0)

请参阅:What does return mean in Python?

这是一个执行带有返回值的函数的简单示例:

while True:
    avg = calculate_average(testScores)
    grade = determine_grade(avg)
    print(grade)
    time.sleep(1)

更新

相关:

答案 1 :(得分:0)

你想要做的是使用calculateAverage()返回avg,然后将avg传递给detrmine_grade()

...
avg = calculate_average()
determine_grade(avg)
...

在calculateAverage中而不是

avg = float(sum(testScores)/len(testScores))

DO

return float(sum(testScores)/len(testScores))

在DetermGrade而不是

def determine_grade():

DO

def determine_grade(avg):

答案 2 :(得分:0)

def calculate_average():
    x = 0
    print("Enter test scores")
    while (x <=4):
        test = input('Enter test score: ')
        x += 1
        testScores.append(float(test))
    time.sleep(1)
    print("","calculating average", ".........", "", sep = "\n")
    time.sleep(1)
    avg = float(sum(testScores)/len(testScores))
    print("%.2f" % avg)
    return avg

def determine_grade(avg):
    if (avg >= 90.0 and avg <= 100.0):
        print("Grade = A")
    elif (avg >= 80.0 and avg <= 89.9):
        print("Grade = B")
    elif (avg >= 70.0 and avg <= 79.9):
        print("Grade = C")
    elif (avg >= 60.0 and avg <= 69.9):
        print("Grade = D")
    elif (avg <= 59.9):
        print("Grade = F")

def main():
    print("Beginning Program","", sep = "\n")
    time.sleep(1)
    avg = calculate_average()
    determine_grade(avg)
    time.sleep(1)
    print("","End of program...", "Have a good day...", "Program Terminated", sep = "\n")