[英]Getting “IndexError: list index out of range”
我想知道為什么會出現此錯誤,IndexError:列表索引超出范圍。 如果需要完整的程序,那么我將上載,但是錯誤在代碼的這一部分。
import random
Sign = ["+-*"]
num = int(random.random()*2)
operator = (Sign[num])
digit = int(random*10)
這意味着輸出數組的隨機符號。
random.random()
返回一個大於0且小於1的浮點數,因此int(random.random()*2)
只會返回0或random
模塊具有一個特定的函數來返回random指定范圍內的整數,比使用“滾動自己的”隨機整數算法(結果通常更統一)更容易使用。
但是random
還具有返回序列的隨機成員(例如,str,tuple或list)的功能,因此使用它來選擇您的隨機運算符是適當的。 例如,
#! /usr/bin/env python
import random
sign = "+-*"
for i in range(10):
op = random.choice(sign)
digit = random.randint(0, 9)
print op, digit
典型輸出
+ 7
* 9
+ 0
* 6
* 8
* 5
+ 0
- 1
- 6
- 3
我在該代碼中將變量名稱更改為op
,因為operator
是標准模塊的名稱。 為您自己的變量使用該名稱不是一個錯誤,但是如果您確實要導入該模塊,則肯定會導致問題。 這也使人們在閱讀您的代碼時感到困惑。
您的列表僅包含一個元素。 嘗試這個:
Sign = ["+", "-", "*"]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.