2016-02-04 7 views
0

Я работаю над программой, которая выберет победителя нескольких пользователей и отобразит победителя. Я подсчитал процентное число, которое будет равно тому, сколько раз имя пользователя будет добавлено в список.Добавление одного и того же элемента в список несколько раз

Для уточнения:

  1. Вычислить процент
  2. Append пользователей имя пользователя в списке одинаковое количество раз, как процентное количество.
  3. Выберите случайное лицо из списка.
  4. Показать победителя.

Heres мой код до сих пор:

probabilities = [] 

    print("Calculating", player1 + "'s luck!") 
    time.sleep(3) 
    player1num = random.randint(0,100) 
    newnum = player1num/2 
    newnumadded = newnum + 10 
    if newnumadded > 50: 
     bonusnum = newnumadded + 25 
     print(player1 + " Your number is:", str(player1num) + "! You have a percentage to win of: ", str(bonusnum) + "%!") 
    else: 
     print(player1 + " Your number is:", str(player1num) + "! You have a percentage to win of: ", str(newnumadded) + "%!") 

Я пытаюсь сделать так, чтобы переменная player1 (что имена пользователей) будут храниться внутри вероятностей список одинаковое количество раз как процентное число.

Пример: У Джона есть шанс получить выигрыш в 79%. Добавить Джон в список 79 раз

+0

или это: http://stackoverflow.com/questions/9259989/select-random-item-with-weight или даже может быть: http://stackoverflow.com/questions/3679694/a-weighted- версия-оф-хаотических выбора – Lafexlos

ответ

1

Если вы хотите добавить player1 в список percentage_list в общую сложности percentage_number раз вы можете сделать:

percentage_list.extend([player1] * percentage_number)

0

Просто добавьте й элемент для й раза в списке:

import random 

probabilities = [] 
player1="John" 

print("Calculating", player1 + "'s luck!") 

player1num = random.randint(0,100) 
newnum = player1num/2 
newnumadded = newnum + 10 
if newnumadded > 50: 
    bonusnum = newnumadded + 25 
    print(player1 + " Your number is:", str(player1num) + "! You have a percentage to win of: ", str(bonusnum) + "%!") 
    probabilities.extend([player1 for x in range(0,int(bonusnum))]) 

else: 
    print(player1 + " Your number is:", str(player1num) + "! You have a percentage to win of: ", str(newnumadded) + "%!") 
    probabilities.extend([player1 for x in range(0,int(newnumadded))]) 

print(probabilities) 
Смежные вопросы