python核心编程6-14习题的解题思路

来源:互联网 发布:翻墙软件 自由 编辑:程序博客网 时间:2024/05/22 03:41
#coding:utf-8

"""
python核心编程6-14习题的解题思路
设计一个"石头,剪子,布"游戏,有时又叫"Rochambeau",你小时候可能玩过,下面是规则.你和你的对手,在同一时间做出特定的手势,必须是下面一种手势:石头,剪子,布.胜利者从
下面的规则中产生,这个规则本身是个悖论.
(a) 布包石头.
(b)石头砸剪子,
(c)剪子剪破布.在你的计算机版本中,用户输入她/他的选项,计算机找一个随机选项,然后由你
的程序来决定一个胜利者或者平手.注意:最好的算法是尽量少的使用 if 语句.
 
黄老师写于2013-4-8下午,在终端下运行python *.py
修改于2013-5-23日下午
不同的平台可能会出现汉字编码问题。
在mac os 终端测试过。
python视频培训班
http://www.qy7788.com.cn/shiyongxinxi/shiyongxinxi193.html

"""
import random

 
guess_list = ["石头","剪刀","布"]
guize = [["布","石头"],["石头","剪刀"],["剪刀","布"]]

while True:
    computer = random.choice(guess_list)
 
    people =  raw_input('请输入:石头,剪刀,布\n').strip()
 
#     people = people.encode("utf-8")
 
    if people not in  guess_list:
        people =  raw_input('重新请输入:石头,剪刀,布\n').strip()
        continue
    if   computer ==  people:
        print "平手,再玩一次!"
        
    elif [computer,people] in guize :
        print "电脑获胜!"
    else:
        print "人获胜!"
        break