In [41]:
# Попытка решить проблему выбора языка программирования
# Выполнять скрипт до получения желаемого результата
import random, collections
langs = 'ruby js node c python'.split()
choices = [random.choice(langs) for _ in range(1000000)]
collect = collections.Counter(choices)
for k in sorted(collect):
print('{}\t->\t{}'.format(k, collect[k]), end='')
if collect[k] == max(collect.values()):
print('\t{}'.format('!'*3), end='')
print()
In [21]:
# Чем же верхний вариант лучше вот этого?
import random
print(random.choice('ruby js node c'.split()))
# Так то, конечно, ничем, но там мы делаем выборку, и смотрим распределение.
# Нельзя назвать эти результаты объективными, зато есть хоть какие то результаты.
# Если есть другие предложения - предлагайте.
In [14]:
# Однорукий бандит
# Те же яйца, только сбоку.
import random, collections
langs = 'ruby js node c python'.split()
choices = [random.choice(langs) for _ in range(3)]
if choices[1] == choices[2] == choices[0]:
print(choices[0])
else:
print('Can\'t choice')
In [39]:
# Одномерная проползающая змейка
# Почему циклы не симетричны? Да хз, но иначе не работает.
import time, threading
def snake(length, speed):
for i in range(length):
print('.'*i, end='')
time.sleep(speed)
print('\r', end='')
for i in range(length):
print(' '*i, end='\r')
time.sleep(speed)
threading.Thread(target=snake, args=(20, 0.3)).start()
In [542]:
# Один из 25
import random, collections
seq = [0 for _ in range(24)]
seq.append(1)
random.shuffle(seq)
# Сложно пройти? Раскомментируй
# for j in zip([i for i in range(len(seq))], seq):
# if j[1] == 1:
# print(j[0])
inp = input('? ')
if inp != '' and inp.isdigit():
inp = int(inp)
else:
inp = random.randint(0,len(seq))
if seq[inp % len(seq)] == 1:
print('^_^')
else:
print('(.)')