首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python中从函数外部访问函数变量

在python中从函数外部访问函数变量
EN

Stack Overflow用户
提问于 2019-11-26 03:36:23
回答 4查看 50关注 0票数 0

我有一个python函数,希望从函数外部检索一个值。如何在不使用全局变量的情况下实现这一点。我有一个想法,如果python中的函数是对象,那么这可能是一个正确的解决方案?

代码语言:javascript
复制
def check_difficulty():
    if (difficulty == 1):
        check_difficulty.tries = 10
    elif (difficulty == 2):
        check_difficulty.tries = 5
    elif (difficulty == 3):
        check_difficulty.tries = 3


try:
    difficulty = int(input("Choose your difficulty: "))
    check_difficulty()

except ValueError:
    difficulty = int(input("Type a valid number: "))
    check_difficulty()

while check_difficulty.tries > 0:

我刚接触python,所以请允许我...

EN

回答 4

Stack Overflow用户

发布于 2019-11-26 03:41:12

代码语言:javascript
复制
def check_difficulty(difficulty):
    if (difficulty == 1):
        return 10
    elif (difficulty == 2):
        return 5
    elif (difficulty == 3):
        return 3

tries = 0
while tries > 0:
    difficulty = int(input("Choose your difficulty: "))

    tries = check_difficulty(difficulty)
    tries = tries - 1
票数 1
EN

Stack Overflow用户

发布于 2019-11-26 03:41:43

如果使用while循环,并以结构化的方式将所有内容放入其中,则不需要函数。

票数 0
EN

Stack Overflow用户

发布于 2019-11-26 03:47:10

您可以将其更改为一个类,以获取您的尝试:

代码语言:javascript
复制
class MyClass:
  def __init__(self):
    self.tries = 0
  def check_difficulty(self, difficulty):
    if (difficulty == 1):
        self.tries = 10
    elif (difficulty == 2):
        self.tries = 5
    elif (difficulty == 3):
        self.tries = 3

ch = MyClass()

try:
    difficulty = int(input("Choose your difficulty: "))
    ch.check_difficulty(difficulty)

except ValueError:
    difficulty = int(input("Type a valid number: "))
    ch.check_difficulty(difficulty)


ch.tries
# 5
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59038936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档