LINUX.ORG.RU

у меня всё работает, попробуй лить больше виски и меньше колы

zolden ★★★★★ ()
import random

p = (random.choice('acd'))
while p != 'a':
    print('no')
saahriktu ★★★★★ ()
Ответ на: комментарий от zolden

вообще , как бы дожно как только рандум произвольно выдернит из acd 'a' , которая будет присвоена в 'p' то цикл должен прекратиться. почему он не прекращается?

linuxpc ()
Ответ на: комментарий от linuxpc
‘p’ != ‘a’

p - не переменная а константа <'> убрать нужно

zaz ★★★★ ()
import random


while True:
    p = random.choice('acd')
    if p == 'a':
        break
    print('no')

/thread

x3al ★★★★★ ()
Ответ на: комментарий от linuxpc

Это исправленный код. Там была пропущена скобка, было неправильное обращение к переменной и неправильно была задана строка из одного символа (вместо ` должен был быть ').

saahriktu ★★★★★ ()
Ответ на: комментарий от zolden

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

linuxpc ()
Ответ на: комментарий от zaz

это я указал, что строка.... так как а-тоже не числовое значение

linuxpc ()
Ответ на: комментарий от linuxpc

Если правильно подобрать пропорции, то ещё и не такое заработает.

Esper ()
Ответ на: комментарий от linuxpc

Это не бейсик в котором строковые переменные видимо отличались. 'строка' задаёт константу без переменной.

saahriktu ★★★★★ ()

спасибо всем кажется разобрался

linuxpc ()

В жопу while, юзай няшный for:

import random 
for i in iter(lambda s='acd': random.choice(s), 'a'):
    print('no')

Virtuos86 ★★★★★ ()
Ответ на: комментарий от Virtuos86

В жопу for, юзай няшный reduce:

import random, functools
functools.reduce(lambda *_: print('no'), iter(lambda: random.choice('acd'), 'a'), None)
aedeph_ ★★ ()
Ответ на: комментарий от aedeph_

я отвечу однострочнегом

[print('no') for i in iter(lambda: __import__('random').choice('acd'), 'a')]

Virtuos86 ★★★★★ ()
Ответ на: комментарий от Virtuos86

Не, вот так как раз не надо, это же новый лист с мусорными значениями. Лучше так:

[_ for i in iter(lambda: __import__('random').choice('acd'), 'a') if print('no')]
aedeph_ ★★ ()
Последнее исправление: aedeph_ (всего исправлений: 1)
>>> p = (random.choice('acd') while ‘p’ != ‘a’: print('no') почему это не работает?
  File "<stdin>", line 1
    p = (random.choice('acd') while ‘p’ != ‘a’: print('no') почему это не работает?
                                  ^
SyntaxError: invalid syntax

Подтверждаю, не работает

Siado ★★★★★ ()
Последнее исправление: Siado (всего исправлений: 1)
Ответ на: комментарий от aedeph_

Лучше так

Алё, этот кот вообще не имеет практического смысла). И у тебя всё равно список создается, надо еще del [...] добавить.

Virtuos86 ★★★★★ ()
Ответ на: комментарий от Virtuos86

да уже научили))) теперь могу написать, чтобы программа составила любое слово из алфавита и когда она это сделает, то остановится

linuxpc ()

скобку забыл

-p = (random.choice('acd')
+p = (random.choice('acd'))
 

Dron ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.