Как вы используете инкрементную переменную вне функции в python? - PullRequest
0 голосов
/ 12 апреля 2020

Это может быть глупый sh вопрос; Может быть, мой хотя процесс совершенно неверен (если да, пожалуйста, укажите это), но как вы извлекаете три приращенные переменные (c_char, c_word, c_sentence) внутри пользовательской функции и используете ее для других целей?

def length_finder(x):
    #variables counting character,word,sentnece  
    c_char = 0
    c_word = 1
    c_sentence = 0

    for i in x:
        if (i >= 'a' and i <= 'z') or (i >= 'A' and i <= 'Z'):
            c_char += 1
        if i == " ":
            c_word += 1
        if i == '.' or i == '!' or i == '?' :
            c_sentence += 1

length_finder(input("Enter the text you wish to analyze: "))

L = 100/c_word*c_char
S = 100/c_word*c_sentence

#formula to get readability
index = 0.0588 * L - 0.296 * S - 15.8

print("This text is suitable for grade " + str(index))

Ответы [ 2 ]

2 голосов
/ 12 апреля 2020

Вы можете return несколько переменных внутри функции:

def length_finder(x):
    ...
    return (c_char, c_word, c_sentence)


(c_char, c_word, c_sentence) = length_finder('input string')
1 голос
/ 12 апреля 2020

У вас есть две опции.

  1. Сделать эти три переменные глобальными и ссылаться на них в функции. Вы можете сделать их глобальными, а затем ссылаться на них как глобальные в функции.

  2. Вернуть их из функции. Вы можете вернуть все 3 значения в виде словаря или списка.

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