【问题标题】:Passing Arguments within If Statement在 If 语句中传递参数
【发布时间】:2019-03-14 03:59:24
【问题描述】:

我正在尝试在两个文件之间传递参数,但遇到了问题。我正在尝试解析其中包含单词“foo”的消息,并创建一个函数来检查消息是否只是“foo”或者可能是像“foot”这样的单词,它包含 foo 但不是词富。这是两个文件

test2.py

import os, sys
from functiontest import function

message = 'foo'
check = 0

if 'foo' in message:
    function(message,check)
    print(check)
    print('bar')
else:
    check = 0
if check == 0:
    print('foo not recognized')

和函数文件

functiontest.py

import os, sys

def function(a,b):
    print('checking message')
    a = a.split()
    print(a)
    if a[0] == 'foo':
        b = 1
        print(b)
        return b
    else:
        b = 0
        return b

运行时,表示当b设置为1并通过时,没有正确通过,保持为0。我希望它通过参数检查为1,如果检测到单词是' t 正好是 'foo',这样会出现消息说 'foo is not detected'。我做错了什么?

后续问题:一旦在 if 语句中确认检查为 0,有没有办法打破该语句而不执行该 if 语句中的下一行,而是跳到 else 语句?我希望以某种方式将其包含在函数中以使主代码看起来更清晰,因为我可以包含更多嵌入的 if 语句,但如果可能的话我想避免这种情况。

【问题讨论】:

    标签: function if-statement arguments


    【解决方案1】:

    您正在丢弃function 的返回值,然后打印check,它从未从原始值0 改变。我相信您的意图是用函数的返回值重新分配check

    check = function(message,check)
    print(check) 
    

    【讨论】:

    • 啊,就是这样!谢谢!我也忘了包括我的部分问题,我在最后编辑了帖子以包含它,如果你有任何见解会很棒。
    猜你喜欢
    • 2018-01-21
    • 2016-03-02
    • 1970-01-01
    • 2015-08-23
    • 2019-11-01
    • 2016-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多