2017-06-06 35 views
0

我有以下代碼,它的工作原理。但我觸動了列表依賴 與0,即開始建立索引,Python文本遊戲:程序改進

當用戶選擇,1需要0個元素 當用戶選擇,二是採取第1個要素 當用戶選擇,3需要第二個元素..我不喜歡這樣。

我想克服這一點,但沒有像內部轉換給定的文本=文本-1的任何破解。請幫忙。與任何其他解決方案

import numpy as np 
Ran=[np.random.randint(1,5)] 
Val=Ran[0] 
print(Val) 
#Items 
items=['1. pot plant','2. painting','3. vase','4. lampshade','5. shoe'] 
print ("\n") 
#Intro Text 
print ("Last night you went to sleep in the comfort of your own home.") 
print ("Now, you find yourself locked in a room. You don't know how") 
print ("you got there or what time it is. In the room you can see") 
print ("\n") 
print (len(items), "Things:") 
for x in items: 
    print (x) 
print ("") 
print ("The door is locked. Could there be a key somewhere?") 
print ("Enter the corresponding number of thing which you \ 
would like to check..Yougot only 3 chances !! ") 
k=0 
while (k==0): 
    Ins1 = int(input()) 
    if (Ins1 == Val): 
     print("You're Lucky! Got the key in First instance ") 
     break 
    else: 
     c=items[Ins1] 
     print("Damn ! key is not available in ", c , "Try again..") 
    Ins2 = int(input()) 
    if (Ins2 == Val): 
     print("Got the key on your 2nd attempt") 
     break 
    else: 
     c=items[Ins2] 
     print("Bad luck ! Try again..not in ", c ,"your last attempt") 
    Ins3 = int(input()) 
    if (Ins3 == Val): 
     print("Finally you got the key") 
     break 
    else: 
     c=items[Ins3] 
     print("you're done. Die here :(Key not in ",c,) 
     break 
+0

只要把虛'的值在'items'開始。 – PaulMcG

+0

但是,在向他打印選項時,用戶將查看虛擬值。 –

+0

剛剛從1開始:'for x in items [1:]:print(x)' – PaulMcG

回答

0

在評論中解決:

Just put a dummy '' value at the beginning of items. – Paul McGuire 

But the user will view the dummy value, as am printing the options to him. – Abdul Salam 

Just start at 1 then: for x in items[1:]: print(x) – Paul McGuire 

Thanks Paul ! It works Fine :)