Top.Mail.Ru
Ответы

Помогите с пайтоном жпжпжпж

сделайте и обьясните пж

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Высший разум
1нед

Что тут объяснять. Команда split делит строку по разделителю (пробелу) в списки (ака массивы). Далее сравниваешь длину получившихся в результате деления списков (len) по их длине

Аватар пользователя
Мастер
1нед

def count_words(text):
"""Функция для подсчета количества слов в строке"""
# Разделяем строку по пробелам и считаем количество полученных слов
words = text.strip().split()
return len(words)

# Ввод данных с клавиатуры
line1 = input("Введите первую строку: ")
line2 = input("Введите вторую строку: ")

# Подсчет слов в каждой строке
count1 = count_words(line1)
count2 = count_words(line2)

# Сравнение количества слов и вывод результата
if count1 > count2:
print(f"В первой строке больше слов ({count1} против {count2})")
elif count2 > count1:
print(f"Во второй строке больше слов ({count2} против {count1})")
else:
print(f"Количество слов одинаково ({count1})")

Аватар пользователя
Мудрец
1нед
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
 """ 
Программа для сравнения количества слов в двух строках. 
Слова могут быть разделены любыми пробельными символами (пробелы, табуляции, переносы строк). 
Автоматически обрабатывает пустые строки и строки только из пробелов. 
""" 
 
import re  # Импорт модуля для работы с регулярными выражениями 
 
def count_words(s): 
    """ 
    Точный подсчет слов в строке с использованием регулярных выражений. 
     
    Параметры: 
        s (str): Входная строка для анализа 
         
    Возвращает: 
        int: Количество слов в строке 
         
    Особенности: 
        - Возвращает 0 для пустой строки или строки только из пробелов 
        - Учитывает любые последовательности непробельных символов как слова 
        - Игнорирует ведущие и завершающие пробелы 
    """ 
    if not s or s.isspace():  # Проверка на пустую строку или строку только из пробелов 
        return 0 
    # \S+ находит все последовательности непробельных символов 
    return len(re.findall(r'\S+', s))  # Разделение на слова и подсчет 
 
def get_input_string(prompt): 
    """ 
    Безопасный ввод строки с клавиатуры с обработкой исключений. 
     
    Параметры: 
        prompt (str): Приглашение для ввода 
         
    Возвращает: 
        str: Введенная пользователем строка (без ведущих/завершающих пробелов) 
    """ 
    while True:  # Цикл продолжается пока не получим корректный ввод 
        try: 
            user_input = input(prompt).strip()  # Удаляем пробелы по краям 
            return user_input 
        except (KeyboardInterrupt, EOFError):  # Обработка Ctrl+C/Ctrl+D 
            print("\nПрерывание ввода. Завершение программы.") 
            exit(1) 
        except Exception as e:  # Обработка других неожиданных ошибок 
            print(f"Ошибка ввода: {e}. Попробуйте еще раз.") 
 
def compare_word_counts(count1, count2): 
    """ 
    Сравнение количества слов и формирование результата. 
     
    Параметры: 
        count1 (int): Количество слов в первой строке 
        count2 (int): Количество слов во второй строке 
         
    Возвращает: 
        str: Описание результата сравнения 
    """ 
    if count1 == count2: 
        return f"Одинаковое количество слов: {count1}" 
    else: 
        comparison = "первой" if count1 > count2 else "второй" 
        return (f"Больше слов в {comparison} строке: " 
                f"{max(count1, count2)} > {min(count1, count2)}") 
 
def main(): 
    """Основная логика программы.""" 
    print("=== Программа сравнения количества слов в строках ===") 
    print("Введите две строки для сравнения (слова разделяются пробелами)\n") 
     
    # Получаем ввод от пользователя 
    string1 = get_input_string("Первая строка: ") 
    string2 = get_input_string("Вторая строка: ") 
     
    # Подсчет слов в каждой строке 
    count1 = count_words(string1) 
    count2 = count_words(string2) 
     
    # Сравнение и вывод результата 
    result = compare_word_counts(count1, count2) 
    print("\nРезультат:", result) 
 
if __name__ == "__main__": 
    # Точка входа в программу 
    main() 
Аватар пользователя
Мыслитель
1нед

Вот:

12345678910111213141516171819202122232425
 # Вводим первую строку с клавиатуры 
string1 = input("Введите первую строку: ") 
 
# Вводим вторую строку с клавиатуры 
string2 = input("Введите вторую строку: ") 
 
# Разбиваем первую строку на список слов, используя пробел как разделитель 
words1 = string1.split() 
 
# Разбиваем вторую строку на список слов, используя пробел как разделитель 
words2 = string2.split() 
 
# Считаем количество слов в каждой строке (количество элементов в списках) 
count1 = len(words1) 
count2 = len(words2) 
 
# Сравниваем количество слов 
if count1 > count2: 
  print("В первой строке больше слов.") 
elif count2 > count1: 
  print("Во второй строке больше слов.") 
else: 
  print("Количество слов в обеих строках одинаково.") 
 
 
Аватар пользователя
Мыслитель
1нед

Возможно чуть-чуть сложнее и муторнее чем от чатгпт, зато написал реальный человек.

Собсна говоря код с комментариями как обьяснение

1234567891011121314151617181920212223
 #тут мы получаем ввод от пользователя 

Stroka1 = input("введите первую строку:")

Stroka2 = (input("введите вторую строку:"))

#делим обе строки на списки, сохраняя имя переменных

Stroka1 = Stroka1.split()

Stroka2 = Stroka2.split()

#списки имеют длину в виде количества элементов, её получаем с помощью метода len и выводим с помощью print

if len(Stroka1) > len(Stroka2):

   print("в строке 1 больше слов чем во 2")

if len(Stroka1) < len(Stroka2):
   print("в строке 2 слов больше чем в 1")

if len(Stroka1) == len(Stroka2):
   print("количество слов в строках одинаково")