python入门之实现一个简单的小游戏 改进版

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yu1014745867/article/details/81604590

背景说明

对之前写的一个简单的小游戏进行改进
https://blog.csdn.net/yu1014745867/article/details/81585045

优化说明

改进优化点:

  • 猜错的时候程序应该给点提示,例如告诉用户输入的值是大了还是小了。
  • 每运行一次程序只能猜一次,应该提供多次机会给用户猜测。
  • 每次运行程序,答案可以是随机的。因为程序答案固定,容易导致答案外泄。

实现

1.条件分支

比较操作

符号 大小
> 左边大于右边
>= 左边大于等于右边
< 左边小于右边
<= 左边小于等于右边
== 左边等于右边
!= 左边不等于右边

eg.

print(1 < 3)
结果为:True
print(1 == 3)
结果为:False

补充:
Python的and逻辑操作符可以将任意表达式连接在一起,并得到一个布尔类型的值。
eg.

print(1 < 3 and 1 < 2)
结果为:True
print(1 < 3 and 1 > 2)
结果为:False
Python中条件分支的语法

1.if条件:条件为真(True)执行的操作
2.else: 条件为假(False)执行的操作

代码提取&优化

原代码段:

if guess == 8:
    print("呀,你是我心里的蛔虫吗?!")
    print("哼,猜中了也没有奖励!")

else:
    print("猜错啦,我现在心里想的是8!")

print("游戏结束,不玩啦O(∩_∩)O")

优化后代码段:(对else里面的条件进行详细的判断)

if guess == 8:
    print("呀,你是我心里的蛔虫吗?!")
    print("哼,猜中了也没有奖励!")

else:
    if guess > 8:
        print("嘿,数字猜大了!")
    else:
        print("嘿,数字猜小啦!")
print("游戏结束,不玩啦O(∩_∩)O")

2.while循环

Python中while循环的语法

while条件:
条件为真(True)执行的操作

代码提取&优化

原代码段:

#!/usr/bin/env python 
# -*- coding:utf-8 -*-
print('---------i am yu--------')
temp = input("不防猜一猜我现在心里想的是哪个数字:")
guess = int(temp)
if guess == 8:
    print("呀,你是我心里的蛔虫吗?!")
    print("哼,猜中了也没有奖励!")

else:
    if guess > 8:
        print("嘿,数字猜大了!")
    else:
        print("嘿,数字猜小啦!")
print("游戏结束,不玩啦O(∩_∩)O")
"以上游戏解释权归yu所有"

优化后代码段:(当猜的不对的时,用户可以继续猜)

#!/usr/bin/env python 
# -*- coding:utf-8 -*-
print('---------i am yu--------')
temp = input("不防猜一猜我现在心里想的是哪个数字:")
guess = int(temp)
while guess != 8:
    temp = input("哎呀,猜错啦,重新猜吧~~")
    guess = int(temp)
    if guess == 8:
        print("呀,你是我心里的蛔虫吗?!")
        print("哼,猜中了也没有奖励!")

    else:
        if guess > 8:
            print("嘿,数字猜大了!")
        else:
            print("嘿,数字猜小啦!")
print("游戏结束,不玩啦O(∩_∩)O")
"以上游戏解释权归yu所有"

3.引入外援random

每次运行程序产生的答案是随机的,这里就需要引入random,这个random模块里边有一个函数叫做:randint(),Ta会返回一个随机的整数。

代码提取&优化

优化后代码段:

#!/usr/bin/env python 
# -*- coding:utf-8 -*-
import random
#随机生成一个1~10的数字
secret = random.randint(1,10)
print('---------i am yu--------')
temp = input("不防猜一猜我现在心里想的是哪个数字:")
guess = int(temp)
while guess != secret:
    temp = input("哎呀,猜错啦,重新猜吧~~")
    guess = int(temp)
    if guess == secret:
        print("呀,你是我心里的蛔虫吗?!")
        print("哼,猜中了也没有奖励!")

    else:
        if guess > secret:
            print("嘿,数字猜大了!")
        else:
            print("嘿,数字猜小啦!")
print("游戏结束,不玩啦O(∩_∩)O")
"以上游戏解释权归yu所有"

猜你喜欢

转载自blog.csdn.net/yu1014745867/article/details/81604590