把python猜数字游戏完明白

学完python基础的应该都会做猜数字游戏,如果不会可以去尝试一下。

因为某教材就那么一点,(爬虫又会)

所以我花了两天的时间把最后一个项目改了一下。

代码如下:

import random
print('------------欢迎进入:---运气测试器---,------------')
Difficulty = input('请输入游戏难度(简单,普通,困难,自定义):')
if Difficulty == '简单':
    print('电脑正在随机生成一个1到10的整数,\n你有4次机会')
    Simple = random.randint(1, 10)
    i = int(5)
    while i:
        try:
            enter = int(input('请输入你猜的数:'))
        except ValueError:
            enter = int(input('你输入错误(再输错,你就别玩了),请从新输入:'))
        i -= 1
        if enter < Simple:
            print('猜小啦! 你还有', i, '次机会')
        elif enter > Simple:
            print('猜大啦! 你还有', i, '次机会')
        else:
            print('真厉害,猜对啦,就是:', Simple)
        if i < 1:
            print('你的机会已用完!很遗憾,正确的答案应该是', Simple)
elif Difficulty == '普通':
    print('电脑正在随机生成一个1到50的整数,\n你有4次机会')
    ordinary = random.randint(1, 50)
    i = int(4)
    while i:
        try:
            enter = int(input('请输入你猜的数:'))
        except ValueError:
            enter = int(input('你输入错误(再输错,你就别玩了),请从新输入:'))
        i -= 1
        if enter < ordinary:
            print('猜小啦! 你还有', i, '次机会')
        elif enter > ordinary:
            print('猜大啦! 你还有', i, '次机会')
        else:
            print('真厉害,猜对啦,就是:', ordinary)
        if i < 1:
            print('你的机会已用完!很遗憾,正确的答案应该是', ordinary)
elif Difficulty == '困难':
    print('电脑正在随机生成一个1到100的整数,\n你有4次机会')
    difficulty = random.randint(1, 100)
    i = int(4)
    while i:
        try:
            enter = int(input('请输入你猜的数:'))
        except ValueError:
            enter = int(input('你输入错误(再输错,你就别玩了),请从新输入:'))
        i -= 1
        if enter < difficulty:
            print('猜小啦! 你还有', i, '次机会')
        elif enter > difficulty:
            print('猜大啦! 你还有', i, '次机会')
        else:
            print('真厉害,猜对啦,就是:', difficulty)
        if i < 1:
            print('你的机会已用完!很遗憾,正确的答案应该是', difficulty)
elif Difficulty == '自定义':
    a = int(input('你想要电脑想的最小的数是:'))
    b = int(input('你想要电脑想的最大的数是:'))
    customize = random.randint(a, b)
    frequency = int(input('你想要尝试多少次机会:'))
    print('电脑正在随机生成一个1到100的整数,\n你有', frequency, '次机会')
    while frequency:
        try:
            enter = int(input('请输入你猜的数:'))
        except ValueError:
            enter = int(input('你输入错误(再输错,你就别玩了),请从新输入:'))
        frequency -= 1
        if enter < customize:
            print('猜小啦! 你还有', frequency, '次机会')
        elif enter > customize:
            print('猜大啦! 你还有', frequency, '次机会')
        else:
            print('真厉害,猜对啦,就是:', customize)
        if frequency < 1:
            print('你的机会已用完!很遗憾,正确的答案应该是', customize)
else:
    print('''恭喜你触发了无敌噩梦模式!
电脑正在随机生成一个1到100的小数(小数点后14到15位的),
你有 N 次机会。''')
    Nightmare = random.uniform(1, 100)
    i = 0
    while True:
        try:
            enter = float(input('请输入你写入的小数:'))
        except ValueError:
            enter = float(input('你输入错误(再输错,你就别玩了),请从新输入:'))
        i += 1
        if enter < Nightmare:
            print('猜小啦!!!')
        elif enter > Nightmare:
            print('猜大啦!!!')
        else:
            print('厉害---厉害,猜对啦,就是:', Nightmare, '你一共用了', i, '次机会')
            break

(没写注释)差不多100行代码,对于学过基础的人应该都看的懂。

里面就有两个我没深入的函数,

第一个就是random.uniform(a, b)这函数是产生一个a到b之间的小数,!14~15位的小数,

不过也可已用round()函数来控制要保留多少位小数,

第二个就是“异常处理”格式如下:

try:

  语句块

except 异常名称:

  处理异常的代码块

大家有什么好的项目可以推荐一下。

你可能感兴趣的:(python)