Я создал простой скрипт, который выбирает номер из списка установленных лотерейных номеров, предварительно выбранных нашим комиссаром по фэнтезийному футболу. По результатам этого года фэнтезийные результаты футбола, каждая команда в зависимости от того, насколько хорошо или плохо они сделали в регулярном сезоне получает определенное количество шансов выбрать номер лотереи.Как сделать мой скрипт лотереи Fantasy Football более Pythonic?
Проблема в том, что написанный мной сценарий выбирает все номера для одной команды, прежде чем он перейдет к следующей команде. Я хотел бы, чтобы сценарий выбирал номера по одному, перемещаясь по списку команд. Существует дополнительный уровень сложности, потому что не все команды имеют одинаковое количество шансов на выбор номера лотереи.
Так что я использую счетчики для каждой команды, которая уменьшается до нуля, что означает, что они выбрали все числа, отведенные для них. Я не уверен, как заставить этот сценарий выбирать числа по одному.
Вот мой код:
import random
lottery_numbers = ['1234','1235','1236','1237','1238','1239',
'1245','1246','1247','1248','1249','1256','1257','1258','1259',
'1267','1268','1269','1278','1279','1289','1345','1346','1347',
'1348','1349','1356','1357','1358','1359','1367','1368','1369',
'1378','1379','1389','1456','1457','1458','1459','1467','1468',
'1469','1478','1479','1489','1567','1568','1569','1578','1579',
'1589','1678','1679','1689','1789','2345','2346','2347','2348',
'2349','2356','2357','2358','2359','2367','2368','2369','2378',
'2379','2389','2456','2457','2458','2459','2467','2468','2469',
'2478','2479','2489','2567','2568','2569','2578','2579','2589',
'2678','2679','2689','2789','3456','3457','3458','3459','3467',
'3468','3469','3478','3479','3489','3567','3568','3569','3578',
'3579','3589','3678','3679','3689','3789','4567','4568','4569',
'4578','4579','4589','4678','4679','4689','4789','5678','5679',
'5689','5789','6789']
#Lists below will hold the final picks per the random selector and chances defined.
lori = []
danny = []
joon = []
alex = []
abepat = []
jonny = []
jung = []
teho = []
jess = []
#Chances at lottery numbers used as counters.
HayanYujaMarinara = 30
hyobbes = 24
swoop = 19
alsizzle = 15
pabe = 12
youngbuck = 10
grimey = 8
hotay = 5
sopower = 3
#Lotto function to randomly select numbers and assign to general manager lists defined above.
def lotto():
#Define lottery pick chances per commissioner.
while HayanYujaMarinara != 0:
strong_island = random.choice(lottery_numbers)
lori.append(strong_island)
lottery_numbers.remove(strong_island)
HayanYujaMarinara -= 1
while hyobbes != 0:
d4l = random.choice(lottery_numbers)
danny.append(d4l)
lottery_numbers.remove(d4l)
hyobbes -= 1
while swoop != 0:
commish = random.choice(lottery_numbers)
joon.append(commish)
lottery_numbers.remove(commish)
swoop -= 1
while alsizzle != 0:
texas = random.choice(lottery_numbers)
alex.append(texas)
lottery_numbers.remove(texas)
alsizzle -= 1
while pabe != 0:
BestFriendsForever = random.choice(lottery_numbers)
abepat.append(BestFriendsForever)
lottery_numbers.remove(BestFriendsForever)
pabe -= 1
while youngbuck != 0:
oldbuck = random.choice(lottery_numbers)
jonny.append(oldbuck)
lottery_numbers.remove(oldbuck)
youngbuck -= 1
while grimey != 0:
LittleKidLover = random.choice(lottery_numbers)
jung.append(LittleKidLover)
lottery_numbers.remove(LittleKidLover)
grimey -= 1
while hotay != 0:
amazebooths = random.choice(lottery_numbers)
teho.append(amazebooths)
lottery_numbers.remove(amazebooths)
hotay -= 1
while sopower != 0:
soWeak = random.choice(lottery_numbers)
jess.append(soWeak)
lottery_numbers.remove(soWeak)
sopower -= 1
if __name__ == '__main__':
lotto()
print "[+]" + "Lori's lottery numbers are \n" + str(sorted(lori, key=int))
print "**********************************************************"
print "[+]" + "Danny's lottery numbers are \n" + str(sorted(danny, key=int))
print "**********************************************************"
print "[+]" + "Joon's lottery numbers are \n" + str(sorted(joon, key=int))
print "**********************************************************"
print "[+]" + "Alex's lottery numbers are \n" + str(sorted(alex, key=int))
print "**********************************************************"
print "[+]" + "Pabe's lottery numbers are \n" + str(sorted(abepat, key=int))
print "**********************************************************"
print "[+]" + "Jonny's lottery numbers are \n" + str(sorted(jonny, key=int))
print "**********************************************************"
print "[+]" + "Jung's lottery numbers are \n" + str(sorted(jung, key=int))
print "**********************************************************"
print "[+]" + "Teho's lottery numbers are \n" + str(sorted(teho, key=int))
print "**********************************************************"
print "[+]" + "Jess's lottery numbers are \n" + str(sorted(jess, key=int))
print "**********************************************************"
print "[xXx]" + "Remaining lottery numbers \n" + str(sorted(lottery_numbers, key=int))`
Это может быть лучше подходит для просмотра кода SE сайта –