听说Python基础不好的人都无法写出来的一个小游戏:猜数字!(本篇文章案例只适合新手,老司机请绕路)

前言

不要小看这个简简单单的猜数字小游戏,它可是涉及到很多的基础知识点的:input函数、字符串、while循环、if条件判断语句、break语句。

那让我们来由浅入深的讲讲本次的案例

游戏介绍:程序自己有一个数字,用户输入一个数字,两个数字进行比较。

开始代码,先来一个最简单的版本

1. 有一个数字

my_num = 5

 

2. 输入一个数字

you_num = input("请输入一个数字:")
you_num = int(you_num)

 

3. 猜数字结果

# 一个等于号是复制符号 两个等于号才是等于号
print(my_num, you_num)
print(type(my_num), type(you_num))

# 不同类型之间,肯定是不会相等的
if my_num == you_num:
    print(f'恭喜你猜对了,当前的数字为{my_num}')
else:
    print(f'你太菜了,这都能猜错, 当前的数字为{my_num}, 你输入的数字是{you_num}')

 


是不是很简单,这个是只能猜一次的,不管对错。

下面的就开始升级了,能一直猜,直到猜对为止

升级版

如果我要猜三次、N次,直到猜对位置

times = 1
while True:
    print(f'开始第 {times} 次猜数字')

    you_num = input("请输入一个数字(1-10):")
    # 如果输入的内容不是一个数字
    if you_num.isdigit():
        you_num = int(you_num)

        if my_num == you_num:
            print(f'恭喜你猜对了,当前的数字为{my_num}')
            break  # 猜对了才会进入第 22 行
        else:  # 猜错了才会进入的 23 行
            if my_num > you_num:
                print('数字猜小了')
            else:1
                print('数字猜大了')
        if times == 10:
            print(f'你已经没有机会了')
            break

        times += 1
    else:
        print('输入错误,请输入一个数字')

 

随机数版,1~100,猜对位置

# random 是一个内置的随机函数模块
import random

my_num = random.randint(1, 100)

times = 1
while True:
    print(f'开始第 {times} 次猜数字')
    you_num = input("请输入一个数字(1-100):")
    you_num = int(you_num)

    if my_num == you_num:
        print(f'恭喜你猜对了,当前的数字为{my_num}')
        break
    else:
        if my_num > you_num:
            print('数字猜小了')
        else:
            print('数字猜大了')

    times += 1

 

posted @ 2021-08-14 19:03  松鼠爱吃饼干  阅读(193)  评论(0编辑  收藏  举报
Title