首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我的程序不会打印出计算机选择的内容和分数--我做了一个“石头,布,剪刀”的程序

首先,我们来了解一下“石头,布,剪刀”游戏的基础概念。这是一个非常经典的游戏,玩家需要在“石头”、“布”和“剪刀”中选择一个,然后与计算机进行比较,根据游戏规则来决定胜负。游戏规则简单明了:石头能够打败剪刀,剪刀能够剪断布,而布能够包裹石头。

现在,我们来看看如何编写一个简单的“石头,布,剪刀”程序,并确保它能够正确地打印出计算机选择的内容和分数。

1. 游戏逻辑

首先,我们需要定义游戏的逻辑。这通常涉及到以下几个步骤:

  • 定义玩家和计算机的选择。
  • 比较玩家和计算机的选择,并决定胜负。
  • 更新分数。

2. 示例代码

以下是一个简单的Python示例代码,用于实现“石头,布,剪刀”游戏的基本功能:

代码语言:txt
复制
import random

# 定义游戏选项
options = ["石头", "布", "剪刀"]

# 初始化分数
player_score = 0
computer_score = 0

# 游戏循环
while True:
    # 玩家选择
    player_choice = input("请输入你的选择(石头/布/剪刀)或输入'退出'来结束游戏:")
    if player_choice == '退出':
        break
    
    # 验证玩家输入
    while player_choice not in options:
        player_choice = input("无效输入,请重新输入(石头/布/剪刀):")
    
    # 计算机选择
    computer_choice = random.choice(options)
    print(f"计算机选择了:{computer_choice}")
    
    # 比较选择并更新分数
    if player_choice == computer_choice:
        print("平局!")
    elif (player_choice == "石头" and computer_choice == "剪刀") or \
         (player_choice == "剪刀" and computer_choice == "布") or \
         (player_choice == "布" and computer_choice == "石头"):
        print("你赢了!")
        player_score += 1
    else:
        print("你输了!")
        computer_score += 1
    
    # 打印当前分数
    print(f"当前分数:玩家 {player_score} - {computer_score} 计算机")

print("游戏结束!")

3. 常见问题及解决方法

  • 程序不会打印计算机选择的内容:确保你已经正确地实现了计算机选择的逻辑,并且使用了print语句来输出计算机的选择。
  • 程序不会更新分数:检查你的分数更新逻辑是否正确。确保在每次比较后,根据胜负情况正确地更新玩家和计算机的分数。

4. 应用场景

“石头,布,剪刀”游戏可以作为一个简单的编程练习,帮助初学者熟悉基本的编程概念,如循环、条件语句和用户输入处理。此外,它也可以作为一个有趣的交互式元素,集成到更大的应用程序或网站中。

5. 优势

  • 简单易懂:游戏规则简单明了,易于理解和实现。
  • 广泛适用性:可以作为教学工具或娱乐应用,适合不同年龄段的用户。
  • 交互性强:玩家可以与计算机进行实时互动,增强用户体验。

希望这些信息能帮助你解决问题并更好地理解“石头,布,剪刀”游戏的编程实现!

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Wolfram语言与Scratch | 如何在石头剪刀布上获胜

石头-剪子-布*从数学角度来看显然不是很有趣。纳什均衡策略非常简单:从这三个选择中随机选择,(从长远来看)你的对手不会打败你(你也不会打败你的对手)。...尽管如此,计算机策略仍然有可能在长时间的游戏中击败人类玩家。 我 9 岁的女儿向我展示了一个使用 Scratch 程序的解决方案,她编写的这个程序每次都通过在做出决定之前查看您的选择而获胜!...不需要太多解释: 随机播放器 代码主要是用户界面、显示和游戏规则。整个计算机策略都保存在函数中 其中 1 代表石头(rock)、2 代表布(paper)、 3 代表剪刀(scissors)。...通过查看人类在每场比赛后接下来做了什么,我们可能会发现一个模式。 该函数的第一个参数提供了过去的戏剧历史。例如,在下面的数据集中,计算机(第二列)刚刚向人类的石头(1)出了 布(2)。...石头打败剪刀(石头让剪刀变钝),剪刀打败布(剪刀剪掉布),布打败石头(布包裹石头——是的,我从来不觉得这个解释令人满意!)。赢一分,平局一分,然后重复直到您觉得无聊。

75230

基于 HTML+CSS+JS 的石头剪刀布游戏

/wanghao221/moyu 关于(JS)构建过程: 首先,我创建了一个对象,其中包含每种可能性的文本格式(石头、纸、剪刀),然后将图像源也添加到该对象中。...然后创建了一个points变量,它将存储每个玩家(玩家和计算机)的分数。 之后,我需要一个介于 1 和 3 之间的随机生成的数字来指示计算机的选择。...、剪纸和剪刀的 3 幅图创建了一个循环 gif。...2.然后添加了一个setTimeout,它负责动画的时长。 3.在里面我让函数创建一个介于 0-2 之间的随机数,这是选择对象中的元素编号,这将指示计算机的选择。...我已经根据游戏规则设置了这些 if-else 语句。如果计算机赢了,则计算机的分数加 1,否则玩家的分数加 1。

1.3K20
  • C语言 编写“剪刀石头布”小游戏

    目录 前言 一、游戏原理 二、C语言代码 1.引入函数 2.初始页面显示 3.游戏过程及结果 总结 ---- 前言 大家好~ 我是一名C语言初学者,学了C语言基础后,我制作了一个小游戏:剪刀石头布...希望大家能对我的思路和代码提出小Tips(eg.更简便的方法与程序) 我也会虚心接受大家的建议~ ---- 一、游戏原理 “剪刀石头布”这个游戏,想必大家都很熟悉了。...首先将游戏者(gamer)的选项输入,并用switch分三种情况,将输入的A、B、C(或a、b、c)转换为整数(Gamer),然后用rand函数在1-3中随机产生一个整数来代表计算机(computer)...Gamer=0; int computer,gamer; int result; while (1) { printf("这个小游戏是——剪刀石头布...,\n你要出:\n"); printf("A:剪刀\nB:石头\nC:布\n"); scanf_s("%c", &Gamer); switch (Gamer

    3.7K30

    10分钟,用TensorFlow.js库,训练一个没有感情的“剪刀石头布”识别器

    大数据文摘出品 编译:Luciana、小七、宁静 “剪刀石头布”是我们小时候经常玩的游戏,日常生活中做一些纠结的决策,有时候也常常使用这种规则得出最后的选择,我们人眼能很轻松地认知这些手势,“石头”呈握拳状...在没有使用TensorFlow.js库之前,如果让我写一个算法,要求可以根据手势的图像来确定它代表剪刀、石头、布中的哪一个,这是计算机视觉领域(CV)典型的图像分类任务,我可能需要经过谨慎思考,并花费很长的时间来完成算法编写...这里我们也需要一些代表剪刀、石头、布手势的图像作为训练数据,Laurence Moroney提供了大量的优秀数据,我们只需要选择其中一部分数据,不需要所有数据,使用它我们可以训练一个基本模型。...此时所有内容都合并为一个图像,我们可以将图像切片进行训练和验证。...为进一步挖掘具体原因,我做出如下混淆矩阵: 与预期相符的混淆矩阵 从图中我们可以发现代表布的手势被错误地辨别为代表剪刀的手势6次,这种错误很容易理解,因为代表布的手势有时候看起来与代表剪刀的手势很像,我们可以选择接受这种错误或训练更多样本来改进错误

    1.7K30

    趣味性问题–在石头剪刀布中去掉一个

    例如在石头剪刀布中去除了布手势(以下例子中都以此为例),那么选择一个第三人(电脑中可以直接产生随机变量)来随机规定本局游戏中哪个手势为优胜手势,只有出了优胜手势的人才能能够获得分数,多轮以后获得分数更高的人获胜...可以双手出拳组合成石头石头,石头剪刀,剪刀剪刀三个情况,然后继续适用石头剪刀布的获胜规则。 方案五:轮次组合。思路和方案四差不多,现在两轮算作一轮。...这里举一个例子,设计一个桌面游戏:我们可以把石头和剪刀试做为一种资产,一次出拳视为获取其中的一种资产一个,其中石头为低级资产,剪刀为高级资产。...用石头可以兑换资源生产建筑每回合产出更多的石头,还可以兑换生产型建筑产出更多的剪刀(石头建房子,剪刀剪布匹生产从意象上还对上了),或者直接用石头摧毁对面的一个剪刀。一个简单的桌面游戏就设计好啦!...方案二游戏规则简洁,但脱离了原本石头剪刀布的克制关系表。 方案六属于脱离了原本石头剪刀布的立意,另辟蹊径,改动的风险很高,但有概率会很受欢迎。

    76010

    Java初学之人机猜拳游戏

    任务 a) 完成人机猜拳互动游戏的开发 1.2. 主要功能 a) 选取对战角色 b) 猜拳 c) 记录分数 1.3. 需求说明 a) 分析业务 b) 抽象出类、类的特征和行为 1.4. ...实现思路: a) 分析业务,抽象出类、类的特征和行为 import java.util.Scanner; public class FingerGuess { static String s;...2、石头 3、布"+"\n"); System.out.print("请为自己选择角色(1:吸血鬼 2:狼人 3、变形金刚):"); int a1 = sc.nextInt(); System.out.println...("我选择的角色是:"+role[a1]); int a2 = (int)(Math.random()*(4-1)+1); System.out.println("计算机随机选择的角色是:"+role...2.石头 3.布(输入相应数字):"); int n1 = sc.nextInt(); String S[] = {"还没出呢","剪刀","石头","布"}; System.out.println

    70840

    码农の带娃绝技:TensorFlow+传感器,200美元自制猜拳手套

    ,开发了一个“猜拳机器”,能检测石头剪刀布的手势。...我们先来看一下这个机器: 上面视频中,我们搭建的系统正在通过手套上的传感器,借助一个用Tensorflow编写的简单机器学习算法来检测我儿子的手势,然后选择相应的选项:石头、剪刀、布。...为了找到更好的数据处理方法,我对手套传感器数据做了一些快速的分析。...△ 计算图 机器学习和TensorFlow的强大在于,可利用计算机寻找最佳参数(包括权重和偏差)。在上面例子中,我们输入了手套的三个传感器数据及其期望输出(有石头、剪刀或布)。...对于这三者,你只要了解以下内容: Softmax能将rps_data中的数值对应压缩到区间[0, 1],这样可将其输出作为石头、布和剪刀的估计概率。

    1.2K50

    15个Python迷你程序,实用又有趣!

    一 简易小程序 1 骰子模拟器 要求:创建一个程序来模拟掷骰子。 说明:当用户询问时,使用random模块生成一个1到6之间的数字。...运行效果如下: 4 故事生成器 要求:每次用户运行程序时,都会生成一个随机的故事。 说明:random模块可以用来选择故事的随机部分,内容来自每个列表里。...三 简易小游戏 1 石头剪刀布游戏 要求:创建一个命令行游戏,游戏者可以在石头、剪刀和布之间进行选择,与计算机PK。如果游戏者赢了,得分就会添加,直到结束游戏时,最终的分数会展示给游戏者。...说明:接收游戏者的选择,并且与计算机的选择进行比较。计算机的选择是从选择列表中随机选取的。如果游戏者获胜,则增加1分。 #!...: player = input("石头, 布 or 剪刀?").

    8.6K31

    Python 条件控制 — if语句

    引言 生活中的判断几乎是无所不在的,我们每天都在做各种各样的选择,如果这样?如果那样?...使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。 Python 中代码的缩进为一个 tab 键,或者 4 个空格 —— 建议使用空格 符合 PEP8 规范。...,下限必须小于上限 石头剪刀布 需求 从控制台输入要出的拳 —— 石头(1)/剪刀(2)/布(3) 电脑 随机 出拳,比较胜负 序号 规则 1 石头 胜 剪刀 2 剪刀 胜 布 3 布 胜 石头 #!.../usr/bin/python3 # -*- coding: utf-8 -*- # @Author: Hui # @Desc: { 石头剪刀布小案例 } # @Date: 2021/06/09 22:...16 import random player = input('请出拳 石头(1)/剪刀(2)/布(3): ') player = int(player) computer = random.randint

    65110

    如何用python做一个简单的输入输出交互界面?

    大家好,我是一行 想问下你写的程序怎么分享给别人使用? 直接发代码!那不会代码的人岂不是得抓瞎 那做成网站或者微信小程序!...显示结果 当然,稍微加点内容,就可以做一个和电脑猜拳的界面化软件了,代码贴在下面可以直接复制粘贴去运行 import random import easygui as G # 出拳 punches =...['石头', '剪刀', '布'] computer = random.choice(punches) user = G.enterbox('请出拳:(石头、剪刀、布)') # 请用户输入选择 while...competition(U, C): if ((U == '石头' and C == '剪刀') or (U == '剪刀' and C == '布')...,你不知道的就越多 当你知道有个easygui可以很简单的做出一个GUI程序出来,你就会发现还有这么多包可以实现更多的GUI功能 我是一行,技术永不眠,我们下期见~

    4.7K20

    德州扑克被AI攻破?刚进行到围棋九路盘而已

    李开复等讲解德扑人机对抗 剪刀石头布的游戏,如何玩才能保持不败呢?比如说我随机的50%出剪刀,30%出石头,20%出布,你如何打败我?...统计上,我就被你打败了,直观上讲我的游戏策略不是均衡的(balanced)。那么我稍微改进一下,我随机的1/3出剪刀,1/3出石头,1/3出布,这个策略是不可被打败的,可以称为博弈论最优解(GTO)。...再细想一下,这个策略虽然不可以被打败,但是对手无论用什么策略我都结果一样,不会获胜也不会失利,也就是说我的策略使得可以不再关心对手用何种策略(indifference threshold)。...德州扑克的游戏结构比剪刀石头布复杂得多,但核心概念是类似的。...最大的不同在于,剪刀石头布的博弈论最优解的期望值是零。德州扑克里面很多局面下最优解的期望值是正数,这就是冷扑打败人类牌手的数学基本出发点。

    87790

    WebSocket 长连接应用场景

    没事打开小程序,和附近的人剪刀石头布,想来就来,想走就走。谁能成为武林高手?! 微信小程序提供了一套在微信上运行小程序的解决方案,有比较完整的框架、组件以及 API,在这个平台上面的想象空间很大。...这篇文章分享一个简单的剪刀石头布的小游戏的制作,希望能对想要在小程序中使用 WebSocket 的开发者有帮助。...云主机和镜像部署 剪刀石头布的服务器运行代码和配置已经打包成腾讯云 CVM 镜像,大家可以直接使用。 腾讯云用户可以免费领取礼包,体验腾讯云小程序解决方案。...镜像已包含「剪刀石头布」和「小相册」两个小程序的服务器环境与代码,需要体验两个小程序的朋友无需重复部署 3....通信协议设计 实现一个多客户端交互的服务,是需要把中间涉及到所有的消息类型都设计清楚的,就像是类似剪刀石头布这样一个小程序,都有下面这些消息类型。

    17.8K40

    40行Python代码实现“旅行者困境“演化过程

    在纳米比亚的 PyCon 会议上,我发表了一篇名为 《使用 Python 解决“升级版的剪刀石头布”》(Rock, Paper, Scissors, Lizard, Spock with Python...所以,在这种情况下,两位玩家都应该选择第一个选择,这样的话得分为 2,2。这位置称为纳什平衡,因为所有玩家都不能偏离这个点(一旦偏离,就可能得到比别人低的分数)。...我们可以对“升级版的剪刀石头布”这个游戏进行同样的建模,其数学模型如下: ? 接下来,使用如下的程序计算其纳什平衡: ? 我们可以看到每个位置都是 1/5 的概率,所以两位玩家可以随意的选择。...他们的初始条件皆不相同但是结果相同:人群中的人们使用都是纳什平衡策略。 接下来的是比较酷的一部分了,让我们看看在“升级版的剪刀石头布”的曲线图中会发生了什么: ? 我们可以看到结果不是很稳定。...在“升级版的剪刀石头布”游戏中:如果每个人都是随机的玩,或者所谓的人群是由玩家或者策略进行随机的组合,你就很有可能碰见那些战胜你的人。

    86410

    石头剪刀布c++实现

    大家好,又见面了,我是你们的朋友全栈君。...问题描述: 编写一个程序,玩“石头”“剪刀”“布”的游戏,在这个游戏中,两位玩家通时说出“石头”“剪刀”“布” 如果一位玩家所选的对象击败了另一个玩家所选的对象,那么前者就是赢家,规则是:布吃石头,...石头吃剪刀 剪刀吃布,为选择的对象和最终的结果使用枚举,使用标准头文件中定义的ran()函数,为计算生成随机的选择。...I won 设计思路: 产生result的两个人,设计程序为你选你的(switch随机选),我产生我的(rand()函数随机产生对3求余,switch实现产生我的三种结果), 然后将你选的和我随机产生做比较...\n"; break; } } 欢迎大家点赞和关注!

    99530

    04:石头剪子布

    04:石头剪子布 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 石头剪子布,是一种猜拳游戏。...简单明了的规则,使得石头剪子布没有任何规则漏洞可钻,单次玩法比拼运气,多回合玩法比拼心理博弈,使得石头剪子布这个古老的游戏同时用于“意外”与“技术”两种特性,深受世界人民喜爱。...游戏规则:石头打剪刀,布包石头,剪刀剪布。 现在,需要你写一个程序来判断石头剪子布游戏的结果。 输入 输入包括N+1行: 第一行是一个整数N,表示一共进行了N次游戏。...接下来N行的每一行包括两个字符串,表示游戏参与者Player1,Player2的选择(石头、剪子或者是布): S1 S2 字符串之间以空格隔开S1,S2只可能取值在{"Rock", "Scissors...,Scissors是剪刀,Paper是布。

    1.5K80

    建议收藏,5个Python迷你项目(附源码)

    在使用Python的过程中,我最喜欢的就是Python的各种第三方库,能够完成很多操作。 下面就给大家介绍5个通过Python构建的项目,以此来学习Python编程。...一、石头剪刀布游戏 目标:创建一个命令行游戏,游戏者可以在石头、剪刀和布之间进行选择,与计算机PK。如果游戏者赢了,得分就会添加,直到结束游戏时,最终的分数会展示给游戏者。...提示:接收游戏者的选择,并且与计算机的选择进行比较。计算机的选择是从选择列表中随机选取的。如果游戏者获胜,则增加1分。...capitalize() # 判断游戏者和电脑的选择 if player == computer: print("Tie!")...computer = random.choice(choices) 二、随机密码生成器 目标:创建一个程序,可指定密码长度,生成一串随机密码。

    63010

    Python的语法练习

    2.题目二 实现一个剪刀、石头、布的游戏,首先使用 random 模块的函数从列表 ['剪刀', '石头', '布'] 中随机选择一个,然后机器人玩家也随机出一个,比较两个,判断玩家是输是赢。...提示:从列表 '剪刀', '石头', '布'] 随机选择,可以使用 random.choice(['剪刀', '石头', '布'] 熟悉具体的设计流程 1.明确项目目标:(为了方便理解,玩家只出布)...我们会通过今天的作业和电脑玩一个剪刀石头布的游戏:电脑随机出拳,我们可选择出什么。...电脑的出拳,我们可以使用random.choice()来随机选择;我们的出拳,可以手动输入我们出拳的类型。 注: 判断下输入:当输入的内容不是石头剪刀布时,电脑会提醒'输入有误,请重新出拳'。...) 请出拳:(石头、剪刀、布)布头 输入有误,请重新出拳 布 2.双方亮拳 你和电脑已经对自己要出的拳进行了选择,接下来,我们需要知道双方的出拳类型。

    1K20

    微信小程序中如何使用WebSocket实现长连接(含完整源码)

    这篇文章分享了一个基于WebSocket长连接的微信小程序——简单的剪刀石头布小游戏的制作过程,希望能对想要在微信小程序中使用 WebSocket 的开发者有所帮助。...当对方进行拳头选择的时候,头像会旋转,这个过程使用 WebSocket 会变得简单快速。 剪刀石头布游戏效果如下图所示: ?...5、通信协议设计 实现一个多客户端交互的服务,是需要把中间涉及到所有的消息类型都设计清楚的,就像是类似剪刀石头布这样一个小程序,都有下面这些消息类型。 ?...设置域名和证书如下图所示: ? 8.3云主机和镜像部署 剪刀石头布的服务器运行代码和配置已经打包成腾讯云 CVM 镜像,大家可以直接使用。 腾讯云用户可以免费领取礼包,体验腾讯云小程序解决方案。 ?...▲ 设置镜像 镜像已包含「剪刀石头布」和「小相册」两个小程序的服务器环境与代码,需要体验两个小程序的朋友无需重复部署。

    5.9K20

    Scratch3.0——助力新进程序员理解程序(难度案例二、石头剪刀布)

    Scratch3.0——助力新进程序员理解程序(难度案例二、石头剪刀布) ---- 前言         一般来说,针对6-18岁的少年儿童开展的编程教育,现在,最常见的形式是线上和线下模式相结合的课外培训...另一类是基于Python、C++等高级编程语言的计算机编程教学,目标往往是参加信息学奥赛等科技品牌赛事,如信息学奥林匹克竞赛/联赛、机器人竞赛、科技创新大赛等,或为后续的专业学习和职业技能打下基础。...1、菜单栏         编辑器左上边的区域是程序菜单栏,主要是修改语言,创建新程序,上传程序,保存程序的操作面板。 2、功能栏         编辑器的最左边的区域是操控区(我叫做功能栏)。...---- 石头剪刀布 这个难度适中,不是很难,但是相互之间的判读比较多,同样不能马虎哦。...造型 玩家代码(石头角色) 电脑代码(剪刀角色) 剪刀判断 石头判断 布判断 胜利 总结 在石头剪刀布的判断中还是比较麻烦的,需要根据3种形状的不同对阵状态来判断输赢,多梳理梳理问题是不大的

    57550
    领券