美文网首页
初学Python小案例——石头剪刀布

初学Python小案例——石头剪刀布

作者: 早_wsm | 来源:发表于2020-02-06 13:49 被阅读0次

前言

目前为止,我们写的Python代码都是一条一条语句顺序执行,这种代码结构通常称之为顺序结构。然而仅有顺序结构并不能解决所有的问题,为了解决不同条件创造的不同结果,需要使用分支结构,循环,判断等......

一、分支结构

在Python中,要构造分支结构可以使用ifelifelse关键字。
上一篇我们了解了变量、赋值、基本函数的使用,为了熟悉分支结构,这里做个简单举例。

# 用户验证
require = input('请在B站输入用户名: ')
target = input('请完成操作: ')
# 用户名是早盦呀且目标是要求点赞、投币、收藏,如果成功会得到UP主的祝福与赞扬否则也请下次一定!
if require == '早盦呀' and target == '点赞':
    print('你真是个天才!')
else:
    print('请下次一定!')

例子中只使用了ifelse,表示简单的判断,注意书写规范,ifelse后要加: (此案例源于一个不会英语的up主的心声)

image.png
实际操作还是要按照代码要求才能执行哦!
使用简易流程图表示:
image.png

二、循环结构

如果在程序中需要我们重复的执行某条或某些指令,我们可以使用循环语句来代替人工去操作,摆脱单调枯燥的工作!

在Python中构造循环结构有两种做法,一种是for-in循环,一种是while循环。

  • for-in循环
    例:用for循环实现1~100求和
sum = 0
for x in range(101):
    sum += x
print(sum)
image.png

计算机很轻松计算出我们要的结果

  • while循环
    如果要构造不知道具体循环次数的循环结构,我们推荐使用while循环。

这里列举了一个优秀工程师骆昊的代码,目前我可能写不出这样的例子,但要能看懂!

例子:

"""
猜数字游戏
计算机出一个1~100之间的随机数由人来猜
计算机根据人猜的数字分别给出提示大一点/小一点/猜对了

Version: 0.1
Author: 骆昊
"""

import random

answer = random.randint(1, 100)
counter = 0
while True:
    counter += 1
    number = int(input('请输入: '))
    if number < answer:
        print('大一点')
    elif number > answer:
        print('小一点')
    else:
        print('恭喜你猜对了!')
        break
print('你总共猜了%d次' % counter)
if counter > 7:
    print('你的智商余额明显不足')
  • 导图梳理:
    Python判断与循环.png

三、函数与模块

上一篇中简单介绍了一些基础性的函数,至于模块,先简单理解为“工具包”吧,在Python中我们要导入某模块要使用import
在下面的案例中我们要使用第一个模块——random(生成随机数)
在使用前要先导入模块 import random 在导入后我们执行:
random.然后按下tab会自动显示模块,我们需要随机整数的模块也就是random.randint
random.randint(a,b) 表示返回a与b之间的整数,包含a 与 b

image.png

四、应用案例-石头剪刀布

要求:
1.控制台输入要出的拳--石头(1)/剪刀(2)/布(3)
2.电脑随机出拳
3.比较胜负

代码功能都是一步一步实现的,在我们还不是很了解模块的情况下,不太知道随机这个功能怎么来实现,所以我们先假定电脑现在只会出石头

  • 1.石头剪刀布.py第一版
# 1.控制台输入要出的拳--石头(1)/剪刀(2)/布(3)
player = int(input("请输入你要出的拳 石头(1)/剪刀(2)/布(3):"))
# 2.电脑现在只会出拳头
computer = 1
print("玩家选择的是 %d - 电脑选择的是 %d" % (player,computer))
# 3.比较胜负
# 先简单写出胜利的所有条件
# 为了代码美观方便查看,我们可以在if的判断条件加一组()然后把条件分行
if ((player == 1 and computer == 2) 
        or (player == 2 and computer == 3) 
        or (player == 3 and computer == 1)):
    print("欧耶!电脑弱爆了!")
# 写出平局的情况
elif player == computer:
    print("哎呦不错啊,我们再来")
# 剩下的就是玩家输掉的情况
else:
    print("不服,我们决战到天亮!")
image.png

写完后要对判断是否成立做好测试!

  • 2.石头剪刀布.py第二版
    使用随机数模块让电脑随机出拳
# 导入模块
import random
# 控制台输入要出的拳--石头(1)/剪刀(2)/布(3)
player = int(input("请输入你要出的拳 石头(1)/剪刀(2)/布(3):"))
# 电脑随机出拳头
computer = random.randint(1,3)
print("玩家选择的是 %d - 电脑选择的是 %d" % (player,computer))
# 比较胜负
# 先简单写出胜利的所有条件
if ((player == 1 and computer == 2)
        or (player == 2 and computer == 3)
        or (player == 3 and computer == 1)):
    print("欧耶!电脑弱爆了!")
# 写出平局的情况
elif player == computer:
    print("哎呦不错啊,我们再来")
# 剩下的就是玩家输掉的情况
else:
    print("不服,我们决战到天亮!")

执行下验证不同的结果


image.png

相关文章

  • 初学Python小案例——石头剪刀布

    前言 目前为止,我们写的Python代码都是一条一条语句顺序执行,这种代码结构通常称之为顺序结构。然而仅有顺序结构...

  • [米·记]2017.09.06.阴雨

    “石头剪刀布,石头剪刀布,左边剪刀右边石头,变成一只小蜗牛;左边是布右边是布,变成花蝴蝶……”——由磨蹭的米拉刷牙...

  • 案例5:石头剪刀布

    题目:剪刀石头布

  • 石头剪刀布的联想

    小时候-石头剪刀布,你出剪刀我出布,糖果是你的;长大后-石头剪刀布,你出石头我出布,快乐是我们的;石头剪刀布,一个...

  • noip 2014总结

    生活大爆炸版石头剪刀布 题目描述 石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头。如果两个人出拳一样,...

  • 玩转石头剪刀布

    你用肚子玩过石头剪刀布吗?你用膝盖玩过石头剪刀布吗?你用脚掌玩过石头剪刀布吗?你用舌头玩过石头剪刀布吗?你用眼睛玩...

  • 2020-05-27

    “石头剪刀布” 哈哈,你输了,再来再来 “石头剪刀布” 你又输了,怎么回事,再来再来 “石头剪刀布” 你有心事,说...

  • 《自卑与超越》读书笔记

    (一)面对失败 “石头、剪刀、布!石头、剪刀、布!石头、剪刀、布!” “我赢了!”游戏规则是,赢了的人可以前进一格...

  • 温暖的承诺:我帮蜗牛找朋友

    剪刀石头布 剪刀石头布 一把剪刀一块石头变成小白兔 一把剪刀两把剪刀亲亲小白兔 一块石头一块布抓住小白兔 一块布两...

  • 陪孩子玩游戏(4)

    “石头,剪刀,布,我出剪刀。” “石头,剪刀,布,我出剪刀。” “你这是剪刀吗?”孩子还不太会控制手指,只见他伸着...

网友评论

      本文标题:初学Python小案例——石头剪刀布

      本文链接:https://www.haomeiwen.com/subject/rgkexhtx.html