【问题标题】:Python regarding return values [duplicate]Python关于返回值[重复]
【发布时间】:2017-11-09 13:14:06
【问题描述】:

我刚刚编写了一些代码来识别我遇到的问题:

def inputbox():
    x = int(input(''))
    return x

def test1():
    y = inputbox() + 99
    print(y)

def test2():
    z = inputbox() + 5000
    print(z)

def main():
    temp = test1()
    temp2 = test2()
    print (temp)
    print (temp2)

main()

我认为这会打印出输入 + 99 和输入 + 5000(如果我输入 1,它应该打印出 100 和低于 5001)。

但它没有,它是这样的:让我们运行 test1,如果你输入另一个值,它将运行 test2,它会添加两次 none。这不是我想要的,显然是我做错了什么的巨大指标,但我不知道那是什么。

我想要的是多个函数获取我放入输入函数的任何值并使用该值。如果我输入 4,我希望输出为 103 和 5004。

【问题讨论】:

    标签: python


    【解决方案1】:

    inputbox() 运行两次,因此提示您输入两个值。

    永远不会存储第一个输入的值

    如果你想要那个功能,你可以试试

    x = None 
    def inputbox():        
        global x
        if x is not None:
            return x
        else:
            x = int(input(''))
        return x
    

    此外,它会打印 None 两次,因为您的测试函数不会返回任何内容,除了 None

    【讨论】:

      猜你喜欢
      • 2015-09-01
      • 2017-10-28
      • 2018-05-14
      • 2021-11-11
      • 2015-09-21
      • 2022-10-02
      • 2015-06-11
      • 1970-01-01
      • 2020-02-20
      相关资源
      最近更新 更多