零基础项目制学习Python (一)

结合coursera网站python课程中的项目学习,分享一下自己学习的过程:

项目一:
与电脑的互动小游戏:rock-paper-scissor-lizard-Spock
具体的玩法就是你在这五个名词中选择一个名词,然后电脑也随机选择一个名词,然后根据游戏的规则,判定是电脑赢还是你赢。
这里写图片描述
箭头方向指示的是上一个项目对下一个项目是赢的
首先是将具体的问题转化为数学的模式,因为人的选择是可以认为控制的,而计算机则不同,需要随机生成项目,那么数学思维是将5个名词分别在【0,4】之间代替
需要运用的函数
(1)将名词转化为数字的函数
(2)将函数转化为名词的函数
(3)比较的函数
具体的代码为:

"""This is the function that you can interactive with a computer about paper-rock-scissors-Spock-lizard game"""
#help function 
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 "wrong name you have entered"    

#define the number to name function
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 "wrong number you have entered"
#define compare function 
def rpsls(player_choice):
    print ""
    print "the player choice is "+player_choice
    player_number=name_to_number(player_choice)
    computer_number=random.randint(0,4)
    computer_choice=number_to_name(computer_number)
    print "the computer choice is "+computer_choice
    diff=(player_number-computer_number)%5
    if diff==1 or diff==2:
        print "player wins"
    elif diff==3 or diff==4:
        print "computer wins"
    else:
        print "ties"
rpsls("rock")
rpsls("Spock")
rpsls("paper")
rpsls("lizard")
rpsls("scissors")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值