使用Python实现在0-100内的猜数字游戏

要求大概如下:使用Python语言实现一个猜数字游戏,数字的范围是在0-100的整数(可以为其他某个范围),猜数字的次数可以可以为无限次,或者为有限次数。
分析问题,主要需要解决的问题如下:
1、怎么产生随0-100的随机整数?
引入随机数包,调用函数实现

import random
number = random.randint(0,100)  //范围可以在括号里修改

2、怎么判断用户输入的数字是否在0-100的范围内?
通过if语句进行判断,首先判断用户输入的数字是否大于或小于某个值,这里是100和0,如果条件成立,则视为用户输入数字无效,请用户重新输入。
3、怎么进行多次猜数字的过程?
这里用到了while循环,当猜准,或者超过允许猜的次数时,结束循环。
4、如何判断猜的数字是否正确?
使用if语句下嵌套if语句进行判断,有三种情况,如果大了或者小了进行相应的提示,如果猜对,则提示猜对,结束游戏。
5、如何设定猜数字的次数?
这里需要一个增加一个变量来统计猜数字的次数,注意一点,Python里面没有 i++或者++i的用法,要写成赋值式。通过if语句来判断进行了几次猜数字,如果超过设定的次数,则结束游戏。
6、怎么同时打印字符串和变量值?
如果要打印的都是字符串,则可以在两字符串之间加一个+号 如 print(“AB”+“C”) 打印的结果为 ABC
如果要打印的是字符串和变量,则在字符串和变量之间加一逗号 ,即可 如 print(“AB”,45) 打印结果为 AB 45
如果要打印的是字符串+变量+字符串,方法同上,如 print(“AB”,45,"C”) 打印结果为 AB 45 C。
代码1:不限定猜数字的次数,直到猜到才结束游戏:

import random
print("Hey man,there is a number from 0 to 100 in my heart, can you guess it?")
number = random.randint(0,100)
guess = int(input())   
while guess!=number:
    if guess>100:
        print("invalid number,please guess again!")
        guess = int(input())
    elif guess<0:
        print("invalid number,please guess again!")
        guess = int(input())
    else:
        if guess>number:
            print("No,it's small than it")
        else:
             print("No,it's big than it")
        guess = int(input())
print("Yes,you are right, it is ",number)
)

代码中测试了用户输入的是否位有效数字,运行结果演示如下:
在这里插入图片描述
代码2:限定猜数字次数,到了相应的次数如果还没有猜到数字,结束游戏。

import random
print("Hey man,there is a number from 0 to 100 in my heart, can you guess it?")
number = random.randint(0,100)
guess = -1
i = 0
while guess!=number:
    guess = int(input())
    if guess>100:
        i = i + 1  #Python里没有i++的用法
        print("这是你第",i,"次猜数字: invalid number,please guess again!")
    elif guess<0:
        i = i + 1
        print("这是你第",i,"次猜的数字: invalid number,please guess again!")
    else:
        i = i + 1
        if i<8:    #猜八次
            if guess > number:
                print("这是你第",i,"次猜的数字: No,it's small than it")
            elif guess < number:
                print("这是你第",i,"次猜的数字: No,it's big than it") 
            else :
                print("Yes,you are right,这是你第",i,"次猜的数字,it is ",number,"game is over!")
                break
        else :
            print("这已经是你第",i,"次猜的数字了,猜错啦!sorry,game is over!")
            break


代码运行的结果如下:
结果1:在限定的次数里没有猜到数字,这里边测试了用户输入限定范围外的数字。在这里插入图片描述
结果2:在限定次数里才对了数字。
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值