С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 20.11.2018
Сообщений: 2
1

Не могу разобраться, почему не работает программа

20.11.2018, 15:40. Показов 1955. Ответов 3

Author24 — интернет-сервис помощи студентам
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# -*- coding: utf-8 -*-
words = ['bbb', 'ccc', 'axx', 'xzz', 'xaa']
words1 = [] 
for x in words:
    print(x)
    if x[0] == "x":
        words1.append(x)
        words.remove(x)
words1.sort()
words.sort()
words1.extend(words)
print("words1 = ", words1)
print("    ")
print("words = ", words)
Начинающиеся с X в начале
Функция принимает в качестве аргумента список строк.
Необходимо вернуть отсортированный список строк, в котором:
сначала идет группа строк, начинающихся на 'x', затем все остальные.
Наример: из ['mix', 'xyz', 'apple', 'xanadu', 'aardvark'] получится
['xanadu', 'xyz', 'aardvark', 'apple', 'mix']
Подсказка: это можно сделать при помощи склеивания 2х заранее отсортированных списков
Всем привет! Недавно начал учить Python, и при решении практических задач столкнулся с проблемой, программа работает не так, как надо
Не могу понять почему метод .append записывает только одну строку из списка в переменную words1, когда по идее подходят две.
Заранее спасибо)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Блог
20.11.2018, 15:40
Ответы с готовыми решениями:

Не могу разобраться, почему при компиляции моя программа не работает? Варнингов 0 только вызывает исключение
Вообще нужно ввести в TextBox1 текст любого размера при нажатии на кнопку кодирования чтобы текст...

Не могу разобраться, почему не работает код
Я еще только начинаю изучать javascript, поэтому обращаюсь за помощью. Условие задачи звучит так:...

ребят не могу разобраться почему не работает программ
Exception in Tkinter callback Traceback (most recent call last): File "c:\program...

Коллекции.Не могу разобраться почему не работает сортировка и поиск
Ребят вся надежда на вас не могу найти ошибки в коде работа моя залита тут:...

3
1293 / 910 / 479
Регистрация: 05.12.2013
Сообщений: 3,074
20.11.2018, 16:19 2
Потому что вы удаляете элементы из списка во время цикла по этому списку, вот все и сбивается
, так лучше
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
words = ['bbb', 'ccc', 'axx', 'xzz', 'xaa']
words1 = [] 
words2 = []
for x in words:
    print(x)
    if x[0] == "x":
        words1.append(x)
    else:
        words2.append(x)
 
words1.sort()
words2.sort()
words1.extend(words2)
print("words1 = ", words1)
print("    ")
print("words = ", words2)
1
0 / 0 / 0
Регистрация: 20.11.2018
Сообщений: 2
20.11.2018, 16:24  [ТС] 3
Спасибо большое, как-то даже не подумал об этом)
Вы мне очень помогли)
0
5041 / 3387 / 1155
Регистрация: 21.03.2016
Сообщений: 8,209
20.11.2018, 21:27 4
Цитата Сообщение от ТабуретY Посмотреть сообщение
Потому что вы удаляете элементы из списка во время цикла по этому списку
ну если правильно удалять (извлекать) с конца списка то все получиться
Python
1
2
3
4
5
>>> words = ['mix', 'xyz', 'apple', 'xanadu', 'aardvark'] 
>>> words1 = [words.pop(i) for i in reversed(range(len(words))) if words[i][0] == 'x']
>>> print(sorted(words1) + sorted(words) )
['xanadu', 'xyz', 'aardvark', 'apple', 'mix']
>>>
0
20.11.2018, 21:27
cpp_developer
Эксперт
20123 / 5690 / 417
Регистрация: 09.04.2010
Сообщений: 12,546
Блог
20.11.2018, 21:27
Помогаю со студенческими работами здесь

Простенькая программа на Си, хочу разобраться, почему не работает
Задача: Два игрока (назовем их, скажем, А и В), поставив одинаковые суммы денег, играют в игру,...

Как работает программа? Не могу разобраться
Здравствуйте! Изучать ассемблер я начал изучать совсем недавно. Для начала изучаю программирование...

Не могу разобраться, как работает программа
Препод сегодня рассказывал но я очень спать хотел и не понял помогите как это роботает #include...

Не могу разобраться, как работает программа?
Исходники программы, которая решает пятнашки. Пока были функции, было просто, но потом пошли...

Не могу разобраться как работает данная программа
Помогите пожалуйста разобраться как работает данная программа ниже дано задание и готовый листинг....

Не могу разобраться как работает программа(сложение дробей)
Допустим ввели : Числитель первой дроби 1 Знаменатель первой дроби 2 Числитель второй дроби 3...

Не работает программа. не могу разобраться что в ней не так
Не работает программа. Не могу разобраться что в ней не так. Программа на вызов функций Н, а, б, с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru