簡體   English   中英

我不明白我的列表索引如何超出范圍

[英]I don't understand how my list index is out of range

j 在達到 5 時停止計數,盡管我的范圍以 11 結束。

為什么會發生,我該如何解決?

我的部分代碼存在問題:

dice1 = random.randrange(1,7)

def probabilities_sum():
    print('\nprobability for 2 dices:')
    for j in range(1, 12):
        percentage_2 = (count[j] / freq) * 100
        procent_2 = str(percentage_2)
        print('this is J', j)
        print(j + 1, ':', procent_2)

基本上你錯的是你從1開始你的循環,而你的count index0開始,所以當你計算percentage_2所以它從index 1開始時,例如: percentage_2 = (count[1] / freq)*100 ,它正在跳過您的0th index ,當您到達j=11時, countindex range0-10 ,並且count[11]上沒有值,這就是為什么存在index out of range error的原因。

import random
count = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
dice1 = random.randrange(1,7)
freq = 12
def probabilities_sum():
    print('\nprobability for 2 dices:')
    for j in range(1, 12):
        percentage_2 = (count[j - 1] / freq) * 100
        procent_2 = str(percentage_2)
        print('this is J', j)
        print(j + 1, ':', procent_2)

probabilities_sum()

輸出

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM