Передача аргументов в выражении If - PullRequest
0 голосов
/ 13 марта 2019

Я пытаюсь передать аргументы между двумя файлами, и у меня возникли проблемы. Я пытаюсь разобрать сообщение на наличие слова «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, если обнаружено, что слово isn ' t 'foo', чтобы появилось сообщение о том, что 'foo не обнаружен'. Что я делаю не так?

Дополнительный вопрос: Как только проверка подтверждается как 0 в операторе if, есть ли способ разорвать оператор и не выполнять следующие строки, которые находятся внутри этого оператора if, и скорее перейти к оператору else? Я бы предпочел включить это как-то в функцию, чтобы основной код выглядел чище, потому что я мог бы включить больше встроенных операторов if, но я хочу избежать этого, если это возможно.

1 Ответ

0 голосов
/ 13 марта 2019

Вы отбрасываете возвращаемое значение function, затем печатаете check, которое никогда не изменялось от исходного значения 0. Я считаю, что вы намеревались переназначить check с возвращаемым значением функции:

check = function(message,check)
print(check) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...