结合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")