Python文本游戏:程序改进

时间:2017-06-06 10:07:23

标签: python python-3.x

我有以下代码,它有效。但我对列表依赖感到震惊 以0开始索引。即

当用户选择时,1它需要第0个元素 当用户选择时,2它需要第一个元素 当用户选择时,3它需要第二个元素..我继续这样。

我想要克服这一点,但不要像内部转换给定的text = text-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

1 个答案:

答案 0 :(得分: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 :)