Python实现石头剪刀布小游戏及input函数解析

陆景行
陆景行
发布时间:2026-10-13| 6人浏览过
原创

本文分享使用Python 3.5实现的石头剪刀布小游戏完整代码。重点解析了Python 2中input与raw_input的区别,以及Python 3中input函数的整合机制。通过示例代码展示如何处理用户输入、判断胜负及循环逻辑,适合Python初学者参考学习。

本文分享了使用Python编写的石头剪刀布小游戏的具体实现代码,供读者参考学习。

针对老师布置的可视化石头剪刀布作业,本文优先提供核心逻辑的代码实现,后续再处理可视化部分。

运行环境为Windows 7系统,Python版本为3.5。

具体代码实现如下:

#coding=utf-8
import random

exit_flag = False #设置flag用于break跳出两层循环,或者自定义异常也行,try:, except。
dic = {}
dic[0] = '剪刀'
dic[1] = '石头'
dic[2] = '布'

while True:
 humanStr = input("请输入[0:剪刀 1:石头 2:布] ")
 if humanStr.isdigit() and (int(humanStr) in [0,1,2]): #如果输入的是数字,并且在0,1,2中 
 human = int(humanStr) 
 windows = random.randint(0, 2)

 print ("你出的是%s,电脑出的是%s" % (dic[human],dic[windows]))

 if (human == 0 and windows == 2) or (human == 1 and windows == 0) or (human == 2 and windows == 1):
 print("祝贺你,你赢了!")
 oncemore = input("你想再来一局吗? y(Y) or n(N) ")
 elif human == windows:
 print("平局")
 oncemore = input("你想再来一局吗? y(Y) or n(N) ")
 else:
 print("不好意思,你输了")
 oncemore = input("你想再来一局吗? y(Y) or n(N) ")

 while True:
 if oncemore == 'y' or oncemore == 'Y':
 break
 elif oncemore == 'n' or oncemore == 'N':
 exit_flag = True
 break #跳出内层循环,并且设置flag
 else:
 oncemore = input("你想再来一局吗? y(Y) or n(N) ")
 if exit_flag == True:
 break #跳出层循环,结束程序

 else:
 print ("请重新输入!")
 pass

此处补充说明Python 2中input与raw_input函数的区别,以及Python 3中input函数的行为变化。

在Python 2环境下:

input和raw_input均可接收字符串输入。其中,raw_input()将所有输入视为字符串并返回字符串类型;而input()在输入纯数字时返回对应的数字类型(int或float),若输入字符串则必须使用引号包裹,否则报错,返回类型为字符串。

在Python 3环境下:

Python 3整合了Python 2中的raw_input和input,移除了raw_input(),仅保留input()函数。该函数接受任意输入,默认将所有输入处理为字符串类型并返回字符串。

以上内容为本文的全部分享,希望对读者的学习有所帮助,欢迎继续支持本站。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。