以写代学:python实现 剪刀、石头、布游戏

前言:

这个脚本实现剪刀石头布的游戏,但是并没有异常处理。只有用户在输入0、1、2时才可以正常处理。

#!/usr/bin/env python
# coding: utf8
import random                            //导入random模块,这是个产生随机数的模块

all_choice = ["石头","剪刀","布"]       //定义一个列表,将选择添加到列表中
win_list = [["石头","剪刀"],["剪刀","布"],["布","石头"]]    //定义一个用户赢的列表,列表中的元素仍然 是一个列表

prompt = """(0)石头                    //定义一个变量,将提示语写到这个变量中
(1)剪刀
(2)布
请选择(0/1/2): """

ind = int(raw_input(prompt))       //因为输入的是字符串类型,所以将字符串转变为整型
player = all_choice[ind]               //列表可以取下标,下标对应的列表中的值
computer = random.choice(all_choice)           //随机选一个值

print "Your choice: %s, computer choice: %s" % (player, computer)   //提示信息,界面友好
if player == computer:             //如果这两个变量值相等
    print "\033[32;43;1m平局\033[0m"            //输出平局
elif [player, computer] in win_list:                  //如果列表在win_list中
    print "\033[31;45;1mYou Win!!!\033[0m"   //输出你赢了
else:                                                                 //否则
    print "\033[31;46;1mYou Lose!!!\033[0m"   //就出你输了

注:\00[30+是前景色,40+是背景色,\033 0m是关闭颜色结束 1m是加重显示

时间: 2024-10-17 03:01:30

以写代学:python实现 剪刀、石头、布游戏的相关文章

以写代学:python 原始字符串操作符&&字符串内建函数

原始字符串操作符 (1)原始字符串操作符是为了对付那些在字符串中出现的特殊字符 (2)在原始字符串里,所有的字符都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符 (3)比如在windows写路径时经常会把出现以下情况 2.字符串内建函数 (1)每次都不会改变字符串原本的值 (2)字符串.函数 或者将字符串赋值给函数后写成变量名.函数是都可以的 (3)还有很多的内涵函数,下边只是举例说明 >>> import tab        >>> hi = "

以写代学:python 模块简介&输出用户指定位数密码的脚本

什么是模块 (1)模块是从逻辑上组织python代码的形式 (2)当代码量变的相当大的时候,最好把代码分成一些有组织的代码段,前提是保证它们的彼此交互 (3)这些代码段之间有一定的联系,可能是一个包含数据成员和方法的类,也可能是一组相关但彼此独立的操作函数 (4)模块名不能乱起,字母数字下划线组成,首字母不能是数字 导入模块 (1)使用import导入模块,模块被导入后,程序会自动生成pyc的字节码文件以提升性能 (2)模块属性通过"模块名.属性"的方法调用,如果仅需要模块中的某些属性

以写代学:python 数据类型之字符串,判断用户输入的id是否符合要求

字符串操作符 比较操作符:字符串大小按ASCLL码值大小进行比较 切片操作符:[].[:].[::] 成员关系操作符:in.not in 脚本:判断用户输入的id是否符合要求 #!/usr/bin/env python import string #定义字符的范围first_id = string.letters + "_"           //确定首字符的范围all_id = string.digits + first_id         //确定其他字符的范围 #请求用户输入

以写代学:python相关概念

注释及续行 (1)尽管python是最好的语言之一,但这并不意味着程序员在代码中就可以不写注释 (2)和很多UNIX脚本类似,python注释语句从#字符开始 (3)注释可以在一行的任何地方开始,解释器会忽略掉该行#之后的所有内容 (4)一行过长的语句可以使用反斜杠\分解成几行,其实是一行 aList[ 1, {"a","alice"} 2, {"b","bob"} ] 可以写成类似的,可读性强一点,仍然是一个列表,里边有四项

以写代学:python 文件打开,写入,复制

变量=open("要打开的文件",打开方式) 打开方式有三种,读.写.执行,默认打开方式为读,若是采用写的方式,文件若存在,则清空所有内容,若不存在,则创建新的文件,例如 f = open("/bin/ls")      //加引号表示文件名,不加为变量 f.read()          //括号中为空,表示把文件中的所有都读出来,括号中有数表示"按需读取",单位为字节 f.readline(大小)      //读取文件的一行 f.readl

以写代学:python 添加用户设置密码并发邮件给root用户

#!/usr/bin/env python#coding: utf8 import osimport sysimport mkpasswd       //这是之前写的,直接调用import string content = """username: ${user}password: ${password}"""t = string.Template(content) def adduser(username, pwd):    os.syste

以写代学:python 错误、异常、断言

1.错误 (1)语法错误 语法错误指示软件的结构上有错误,导致不能被解释器解释或编译器无法编译.这些错误必须在程序执行前纠正. (2)逻辑错误 逻辑错误可能是由于不完整或是不合法的输入所致.还可能是逻辑无法生成,计算,或是输出结果需要的过程无法执行 2.异常 (1)当python检测到一个错误时,解释器就会指出当前流已经无法继续执行下去,这时候就出现了异常 (2)异常是因为程序出现了错误而在正常控制流以外采取的行为.这个行为又分为两个阶段首先是引起异常发生的错误,然后是检测(和采取可能的措施)阶

以写代学:python os模块 cpickle模块

>>> import tab >>> import os >>> os.symlink("a.txt", "aa.txt") //创建a.txt的链接文件aa.txt >>> os.listdir(os.curdir)      //查看当前目录 >>> os.listdir(os.pardir)      //查看父目录(上级目录) >>> os.listd

以写代学:python while循环

前言: 通过一个小脚本来学习python的while循环 脚本一:实现1到100的数相加 #!/usr/bin/env python counter = 1                               //给变量赋值,python不需要定义变量,python引用变量sum100 = 0 while counter < 101:                 //while循环,直到while不小于101,就退出    sum100 += counter