2016-02-04 68 views
0

我正在開發一個程序,該程序將選擇多個用戶的獲勝者並顯示獲勝者。我計算了百分比數字,這將是用戶名將追加到列表的次數。多次將相同的項目添加到列表中

澄清:

  1. 計算百分比
  2. 追加使用者名稱到列表的時間相同數量的百分比數。
  3. 從列表中選擇一個隨機的人。
  4. 顯示贏家。

繼承人到目前爲止我的代碼:

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_listpercentage_number時候,你可以這樣做:

percentage_list.extend([player1] * percentage_number)

0

您只需將X元素爲x次在您的列表:

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) 
相關問題