2017-06-06 7 views
0

Ich habe den folgenden Code, der funktioniert. aber ich mit der Liste Abhängigkeit schlug am die Indizierung beginnt mit 0. Das heißt,Python Text Spiel: Programmverbesserung

Wenn der Benutzer wählt, 1 dauert es 0. Element Wenn der Benutzer wählt, 2 es erstes Element nimmt Wenn der Benutzer wählt, 3 dauert es zweites Element .. Ich gehe so weiter.

Ich will das überwinden, aber nicht mit irgendeinem Hack wie intern den gegebenen text = text-1 konvertieren. bitte hilfe. mit jeder anderen Lösung

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

einfach eine Attrappe setzen '' Wert zu Beginn des 'Elements'. – PaulMcG

+0

Aber der Benutzer wird den Dummy-Wert anzeigen, da er die Optionen an ihn druckt. –

+0

Beginnen Sie einfach bei 1 dann: 'für x in Artikel [1:]: print (x)' – PaulMcG

Antwort

0

in den Kommentaren Entschlossen:

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 :)