美文网首页
编小程序------python

编小程序------python

作者: 小鱼儿_Y | 来源:发表于2020-08-14 20:42 被阅读0次

Python第一个简单的小游戏

temp = input("请猜一猜姐姐的幸运数字是: ")
guess = int(temp)
if guess == 6:      # 此处是需要使用双等号,表示等于,若使用单信号程序会报错。
    print("你果然是姐姐的真爱粉呢!")
    print("快来加入姐姐的后援会吧!")
else:
    print("猜错了,你需要好好地去了解姐姐呢。")
print("游戏结束了,不玩了,我去找姐姐啦!")

这是一个简单的小游戏,我们需要对其进行改进:
1、当用户输入的值不对时,程序应当提示用户输入的值是打了还是小了。
2、应该提供多次机会给用户。
3、每次运行程序的时候,答案应该是随机的。

解决第一个问题:

问题:当用户输入的值不对时,程序应当提示用户输入的值是打了还是小了。
我们需要在猜错的时候的语句中加上一个条件分支来实现该要求。引入嵌套语句

temp = input("请猜一猜姐姐的幸运数字是: ")
guess = int(temp)
if guess == 6:      # 此处是需要使用双等号,表示等于,若使用单信号程序会报错。
    print("你果然是姐姐的真爱粉呢!")
    print("快来加入姐姐的后援会吧!")
else:
    if guess <6:
        print("你输入的数值小了")
    else:
        print("你输入的数值大了")
    print("猜错了,你需要好好地去了解姐姐呢。")
print("游戏结束了,不玩了,我去找姐姐啦!")

我们在添加一个if else的嵌套语句来解决第一个问题。

解决第二个问题:

问题:应该提供多次机会给用户。
我们需要用到Python的循环结构:
循环语句 while 循环模式
while 条件:

counts = 3
while counts > 0:
    temp = input("请猜一猜姐姐的幸运数字是: ")
    guess = int(temp)
    if guess == 6:      # 此处是需要使用双等号,表示等于,若使用单信号程序会报错。
        print("你果然是姐姐的真爱粉呢!")
        print("快来加入姐姐的后援会吧!")
    else:
        if guess <6:
            print("你输入的数值小了")
        else:
            print("你输入的数值大了")
        print("猜错了,你需要好好地去了解姐姐呢。")
    counts = counts - 1
print("游戏结束了,不玩了,我去找姐姐啦!")

我们使用while语句解决了第二个问题,可以给用户提供多次机会了,但是又会出现一个新的问题,即使你的答案是6,完全正确程序依然会让你执行3次才会终止。
要解决这个问题则需要我们使用break语句。
break语句:跳出一层循环体。

counts = 3
while counts > 0:
    temp = input("请猜一猜姐姐的幸运数字是: ")
    guess = int(temp)
    if guess == 6:      # 此处是需要使用双等号,表示等于,若使用单信号程序会报错。
        print("你果然是姐姐的真爱粉呢!")
        print("快来加入姐姐的后援会吧!")
        break
    else:
        if guess <6:
            print("你输入的数值小了")
        else:
            print("你输入的数值大了")
        print("猜错了,你需要好好地去了解姐姐呢。")
    counts = counts - 1
print("游戏结束了,不玩了,我去找姐姐啦!")

解决第二个问题:

问题:每次运行程序的时候,答案应该是随机的。
我们需要用到Python的随机数模块(random):
Python中使用模块,先要使用import来将其模块导入: import 模块名
例如:

import random
random.randint(a,b) # a,b随机数产生的区间
import random
answer = random.randint(1,10)
counts = 3
while counts > 0:
    temp = input("请猜一猜姐姐的幸运数字是: ")
    guess = int(temp)
    if guess == answer:      # 此处是需要使用双等号,表示等于,若使用单信号程序会报错。
        print("你果然是姐姐的真爱粉呢!")
        print("快来加入姐姐的后援会吧!")
        break
    else:
        if guess <answer:
            print("你输入的数值小了")
        else:
            print("你输入的数值大了")
        print("猜错了,你需要好好地去了解姐姐呢。")
    counts = counts - 1
print("游戏结束了,不玩了,我去找姐姐啦!")

random模块生成的随机数是伪随机数,生成的随机数可以被重现
函数random.getstate()来获取随机数内部生成器的状态。

>>> import random
>>> x = random.getstate()
>>> print(x)
>>> random.randint(1,10)
10
>>> random.randint(1,10)
3
>>> random.randint(1,10)
4
>>> random.randint(1,10)
9
>>> random.randint(1,10)
5
>>> random.randint(1,10)
2
>>> random.setstate(x)
>>> random.randint(1,10)
7
>>> random.randint(1,10)
10
>>> random.randint(1,10)
3
>>> random.randint(1,10)
4
>>> random.randint(1,10)
9
>>> random.randint(1,10)
5

学习的小甲鱼的视频课程笔记

相关文章

网友评论

      本文标题:编小程序------python

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