作业week1 'Rock-paper-scissors-lizard-Spock'

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
__title__ = 'Rock-paper-scissors-lizard-Spock'
__author__ = 'Steve'
__mtime__ = '2017/9/23'
"""

# The key idea of this program is to equate the strings
# "rock", "papper", "scissors", "lizard", "Spock" to numbers
# as follows:
#
# 0 - rock
# 1 - Spock
# 2 - paper
# 3 - lizard
# 4 - scissors

import random


def name_to_number(name):
    if name == "rock":
        return 0
    elif name == "Spock":
        return 1
    elif name == "paper":
        return 2
    elif name == "lizard":
        return 3
    elif name == "scissors":
        return 4
    else:
        return "Error"


def number_to_name(number):
    if number == 0:
        return "rock"
    elif number == 1:
        return "Spock"
    elif number == 2:
        return "paper"
    elif number == 3:
        return "lizard"
    elif number == 4:
        return "scissors"
    else:
        return "Error"


def rpsls(name):
    player_number = name_to_number(name)
    computer_number = random.randrange(0, 5)
    difference = (player_number - computer_number) % 5
    print "Player choose", name
    print "Computer chooses", number_to_name(computer_number)
    if difference == 0:
        print "Player and Computer tie!"
    elif difference == 1:
        print "Player Win!"
    elif difference == 2:
        print "Player Win!"
    elif difference == 3:
        print "Computer Wins!"
    else:
        print "Computer Wins!"


rpsls("rock")
rpsls("Spock")
rpsls("paper")
rpsls("lizard")
rpsls("scissors")
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值