В настоящее время я учусь в школе и изучаю питон, и у меня есть вопрос. Я работаю над среднесрочным проектом, который должен принять ввод, назначить его списку, если первая буква не заглавная - сделайте ее заглавной ... и подсчитайте количество слов в предложении.

Пока мой код работает ... Я не могу не думать, что неправильно обработал аргументы в функциях. Если бы вы могли взглянуть на него и помочь мне, как я могу его очистить, это было бы отлично. Пожалуйста, помните - я новенький ... так что объясните, как будто мне 5 лет!


    sentence_list = sentList()
    sentence = listToString(sentence_list)
    sentence = is_cap(sentence)
    sentence = fix(sentence)
    sentence = count_words(sentence)

def sentList():
    sentence_list = []
    sentence_list.append(input('Please enter a sentence: '))
    return sentence_list

def listToString(sentence_list):
    sentence = ""
    sentence = ''.join(sentence_list)
    return sentence

def is_cap(sentence):
    sentence = sentence.capitalize()
    return sentence

def fix(sentence):
    sentence = sentence + "." if (not sentence.endswith('.')) and (not sentence.endswith('!')) and \
     (not sentence.endswith('?')) else sentence
    return sentence


def count_words(sentence):
    count = len(sentence.split())
    print('The number of words in the string are: '+ str(count))
    print(sentence)



main()```
0
Veritas Curat 13 Фев 2021 в 08:32

1 ответ

Лучший ответ

Во-первых, ваш код очень хорош как новичок, хороший чувак.
так
чтобы ваша функция работала, вам нужно вызвать ее после того, как вы их определили. но здесь вы помещаете вызов вверху страницы.
причина этого в том, что python читает коды сверху вниз, поэтому, когда он прочитал первый вызов функции, которую он не читал до этой строки код должен быть таким:

def sentList():
    sentence_list = []
    sentence_list.append(input('Please enter a sentence: '))
    return sentence_list

def listToString(sentence_list):
    sentence = ""
sentence = ''.join(sentence_list)
return sentence

def is_cap(sentence):
    sentence = sentence.capitalize()
    return sentence

def fix(sentence):
    sentence = sentence + "." if (not sentence.endswith('.')) and (not sentence.endswith('!')) and \ (not sentence.endswith('?')) else sentence
    return sentence


def count_words(sentence):
    count = len(sentence.split())
    print('The number of words in the string are: '+ str(count))
    print(sentence)

sentence_list = sentList()
sentence = listToString(sentence_list)
sentence = is_cap(sentence)
sentence = fix(sentence)
sentence = count_words(sentence)

Я так думаю. если у вас есть еще вопросы. это сообщество всегда будет здесь

0
Mostafa Tabrizian 13 Фев 2021 в 05:53