Python 练习1--简单的数字猜谜游戏

编写一个程序,让用户猜一个1到100之间的随机数。程序会提示用户输入的数字是太高还是太低,直到用户猜中为止。

import random /引入random。

number = random.randint(1, 100)                   /调用随机数 生成任意整数,区间是1至100.
guess = 0                                         /准备一个为0的变量,准备参与后续运算。

while guess != number:                            /循环条件:随机整数,不为0时,接入循环。

    guess = int(input("猜一个1到100之间的数字: "))  /强转输入函数,为数字类型并赋值给guess变量。
    
    if guess < number:                             /判断 随机数和输入变量大小。
        print("太低了!")
    elif guess > number:
        print("太高了!")
    else:
        print("恭喜你,猜对了!")           /根据上面判断,都不满足的情况下,随机数和输入数相等。

上面的代码,在实际运行中,有很多问题,比如,在输入过程中间,想直接结束,或输入了字母,或超过1至100的数字。

结合问题,可以将问题改写:

1,添加退出判断:

import random
number = random.randint(1, 100)

count = 0                                                   /新增计数变量
while True:                                                 /修改循环状态为True
    count += 1                                              /进入循环加1
    guess = input("猜一个1到100之间的数字:(输入'退出'结束)")/这个不转型,因为还要输入取消
    if guess == '退出':                                     /新增判断,是否输入取消
        print("程序结束!")
        break
    gues = int(guess)                                       /排除取消,将输入数字转换为整数类
    if gues < number:
        print(f"第{count}次,太小了!")
    elif gues > number:
        print(f"第{count}次,太高了")
    else:
        print(f"恭喜你!您在第{count}次,猜对了~")
        break

2,解决乱输入等情况:

import random
number = random.randint(1, 100)
count = 0
while True:
    count += 1
    guess = input("猜一个1到100之间的数字:(输入'退出'结束)")
    if guess == '退出':
        print("程序结束!")
        break
    else:                                                       /新增else连贯上面判断关系
        try:                                                    /新增异常捕获
            gues = int(guess)
            if gues < number:
                print(f"第{count}次,太小了!")
            elif gues > number:
                print(f"第{count}次,太高了")
            else:
                print(f"恭喜你!您在第{count}次,猜对了~")
                break
        except ValueError:                                      /处理异常  
            print("请输入数字,或“退出!”")                       /这里打印告诉输入范围

3,解决1至100输入区间的问题:

import random
number = random.randint(1, 100)

count = 0
while True:
    guess = input("猜一个1到100之间的数字:(输入'退出'结束)").strip()
    if guess == "退出":
        print("程序结束!!")
        break
    else:
        try:
            gues = int(guess)
            if 1 <= gues <= 100:                                     /新增 判断 输入的值区间
                count += 1
                if gues < number:
                    print(f"第{count}次,太小了!")
                elif gues > number:
                    print(f"第{count}次,太高了")
                else:
                    print(f"恭喜你!您在第{count}次,猜对了~")
                    break
        except ValueError:
            print("请输入数字,或“退出!”")

注意:这里没有在 输入值,超过判断再处理,是因为,循环一直为True.在没进入1至100区间,之前不能被停止,所以会回到:“猜一个1到100之间的数字:(输入'退出'结束)”,。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值