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

2020-02-06  本文已影响0人  早_wsm

前言

目前为止,我们写的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循环。

sum = 0
for x in range(101):
    sum += x
print(sum)
image.png

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

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

例子:

"""
猜数字游戏
计算机出一个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中我们要导入某模块要使用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.控制台输入要出的拳--石头(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

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

# 导入模块
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
上一篇 下一篇

猜你喜欢

热点阅读