python3.7 ”猜数字“小游戏

学习python小记录

1.简易版“猜数字”游戏,系统随机产生一个0-9的整数,判断用户输入的数字是否正确。
初始代码:

#coding:utf-8
import random
s=random.randint(0,9)#生成一个随机的0-9的整数
n=input("请输入您猜的数字:")
if n < 10 and n >= 0:
    if n==s:
        print("恭喜您猜对了,答案为:",s)
    else:
        print("猜错了,答案为:",s)
else:
    print("请重新输入0-9的整数:")

运行后,输入1,报错:

TypeError:’<’ not supported between instances of ‘str’ and ‘int’

最终发现报错的原因是:因为input()返回的数据类型是str,不能直接和整数进行比较,必须先把str换成整数,这里我们可以使用int()函数来实现。

修改后的代码:

#coding:utf-8
import random
s=random.randint(0,9)
n=int(input("请输入您猜的数字:"))
if n < 10 and n >= 0:
    if n==s:
        print("恭喜您猜对了,答案为:",s)
    else:
        print("猜错了,答案为:",s)
else:
    print("请重新输入0-9的整数:")

运行后同样输入整数1,无错误,结果如下:
python3.7 ”猜数字“小游戏_第1张图片
2.改良版“猜数字”游戏,系统随机生产一个0-9的整数,用户输入一个数字,直到猜对为止!

import random
s=random.randint(0,9)
n=int(input("请输入您猜的数字:"))
while True:
    if n < 10 and n >= 0:
        if n == s:
            print("恭喜您猜对了,答案为:", s)
            break
        else:
            if n > s:
                n = int(input("猜大了,再猜:>>"))
            else:
                n = int(input("猜小了,再猜:>>"))
    else:
        n=int(input("请重新输入0-9的整数:"))

python3.7 ”猜数字“小游戏_第2张图片

3.优化版“猜数字”游戏,系统随机生产一个0-9的整数,允许用户猜四次,限定次数内猜对为赢,超过四次还未猜对则判定为输,游戏结束!(若用户输入的数不在0-9整数范围内视为错误,并且不计入竞猜次数)

import random
s=random.randint(0,9)
a=0
n=int(input("请输入您猜的数字>>"))
while True:
    if n < 10 and n >= 0:
        if n == s:
            print("恭喜您猜对了,答案为", s)
            break
        else:
            if n > s:
                n = int(input("猜大了,再猜>>"))
            else:
                n = int(input("猜小了,再猜>>"))
    else:
        n=int(input("错误:请输入0-9的整数,您已经猜了%a次,还有%s次机会>>" %(a,4-a)))
        continue
    if a == 3:
        print("游戏结束,你失败了!!!答案为", s)
        break
    else:
        pass
    a += 1

python3.7 ”猜数字“小游戏_第3张图片python3.7 ”猜数字“小游戏_第4张图片
4.趣味版“猜数字”游戏,系统随机生产一个0-9的整数,用户基本赢不了

import random
while True:
    s=random.randint(0,9)
    n=int(input("请输入一个0-9的整数>>"))
    if n==s:
        while True:
            s=random.randint(0,9)
            if n==s:
                pass
            else:
                break
    print("很遗憾,您猜错了!正确答案是",s)

你可能感兴趣的:(python3.7 ”猜数字“小游戏)