关于python中的房间游戏

时间:2015-02-20 04:10:24

标签: python

from sys import exit

def gold_room():
    print "This room is full of gold.  How much do you take?"

    next = raw_input("> ")
    if "0" in next or "1" in next:
        how_much = int(next)
    else:
        dead("Man, learn to type a number.")

    if how_much < 50:
        print "Nice, you're not greedy, you win!"
        exit(0)
    else:
        dead("You greedy bastard!")

def dead(why):
    print why, "Good job!"
    exit(0)

gold_room()

为什么我输入2~9结果“男人,学会输入数字” 输入10~49结果“很好,你不贪心,你赢了!” 谢谢你们

2 个答案:

答案 0 :(得分:1)

输入2时,首先是条件失败,因为&#34; 2&#34;中没有0和1。

当您输入10条件满意时。然后how_much等于10.

答案 1 :(得分:1)

2~9不包括1或0(程序将其作为字符串,因此它查找字符1或0),因此程序转到else: dead()部分。您可能只想确保该数字在1~49范围内。只需将输入转换为int,然后转换为if 0< how_much < 50:

编辑:您应该尝试39(没有1或0),例如,如您所提到的那样,在10~49范围内

EDIT2:哎呀,当然,谢谢@PM 2Ring我忘记了python可以做到这一点。