Форум сайта python.su
0
Всем привет, есть такая вот задача: "Создайте программу, котороая будет выводить список слов в случайном порядке. На экране должны печататься все слова без повторений.
import random list = ['стул', 'окно', 'кровать', 'диван', 'батарея', 'лампа', 'дверь'] count = len(list) while count != 0: print(random.choice(list)) count -=1 input("\nenter")
while count != 0: print(random.randint(0,(list) -1) count -=1
Офлайн
568
l = ['стул', 'окно', 'кровать', 'диван', 'батарея', 'лампа', 'дверь'] l2 = random.shuffle(l)
Офлайн
0
FishHookхм,я получаю значение None, что не правильно?
list = ['стул', 'окно', 'кровать', 'диван', 'батарея', 'лампа', 'дверь'] list2 = random.shuffle(list) for i in list: print(list2)
Офлайн
221
Monkey_Dank
форумчанин FishHook подзабыл такой момент что shuffle() метод не возвращает новый список, а перемешивает существующий:
>>> l = ['стул', 'окно', 'кровать', 'диван', 'батарея', 'лампа', 'дверь'] # исходный список >>> l2 = l[:] # копия исходного списка на случай если не нужно менять исходный >>> random.shuffle(l2) >>> l2 # перемешанный список ['батарея', 'лампа', 'диван', 'дверь', 'стул', 'кровать', 'окно']
Офлайн
568
А ну да, виноват, я честно говоря код не проверял.
Офлайн
0
JOHN_16В интерактвном режиме все работает, вот пишу в файле:
Monkey_Dankфорумчанин FishHook подзабыл такой момент что shuffle() метод не возвращает новый список, а перемешивает существующий:
list = ['стул', 'окно', 'кровать', 'диван', 'батарея', 'лампа', 'дверь'] list2 = list[:] #скопировали список print(random.shuffle(list2)) #пытаюсь вывести скопированный список, в интерактивном выводится, почему здесь я не могу вывести его input("\nenter")
Офлайн
568
Что значит “не могу?” Рука не поднимается, как коня пристрелить?
Вы на техническом форуме или где?
Офлайн
0
FishHookМне выдает None, вы знаете почему так, а я нет, если не хотите помочь, лучше вообще не отвечайте на сообщения, спасибо за участие.
Что значит “не могу?” Рука не поднимается, как коня пристрелить? Вы на техническом форуме или где?
Офлайн
568
Monkey_Dank
Мне выдает None
Monkey_Dank
форумчанин FishHook подзабыл такой момент что shuffle() метод не возвращает новый список, а перемешивает существующий:
Отредактировано FishHook (Фев. 19, 2016 10:22:56)
Офлайн
568
Если функция в питоне не возвращает ничего, это значит, что она возвращает None.
random.shuffle(list2) возвращает None, что вы и видите на экране.
Вам уже дали правильное решение
l = ['стул', 'окно', 'кровать', 'диван', 'батарея', 'лампа', 'дверь'] # исходный список l2 = l[:] random.shuffle(l2) print(l2)
Офлайн