鱼C论坛

 找回密码
 立即注册
查看: 1124|回复: 4

004、005作业求助

[复制链接]
发表于 2019-7-31 21:09:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
import random
secret = random.randint(1,10)
print('---------猜一猜---------')
temp = input("猜一猜我心里的数字:")
guess = int(temp)
number=0
   while temp!=secret:
        number=number+1
        if  temp == secret:
            print("你是我心里的蛔虫么?!")
            print('哼,就算猜中了也没奖励!')
            break
        else:
            if number<3:
                if guess > secret:
                    print('哥,大了,大了!')
                else:
                    print('小了,小了!')
                temp = input("请重新输入吧:")
            else:
                print('没有心有灵犀的感觉,哎。')
                break
    print("时间到了,游戏结束*^_^*")

如何在原代码基础上进行改进,可以判断输入数据,输入为数字执行上述循环,输入为字符,则跳出。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-7-31 22:45:32 | 显示全部楼层
这里我提供两种方法,第一种比较笨,对于不知道函数库的人可以用这个方法,即使用自定义函数来实现你的目标,代码如下:
import random


def is_number(s):
    try:
        float(s)
        return True
    except ValueError:
        pass

    try:
        import unicodedata
        unicodedata.numeric(s)
        return True
    except (TypeError, ValueError):
        pass

    return False



secret = random.randint(1, 10)
print('---------猜一猜---------')
temp = input("猜一猜我心里的数字:")
ve = 0
if is_number(temp):
    ve = 1
if ve == 1:

    guess = int(temp)
    number = 0
    while temp != secret:
        number = number + 1
        if temp == secret:
            print("你是我肚子里的蛔虫么?!")
            print('哼,就算猜中了也没奖励!')
            break
        else:
            if number < 3:
                if guess > secret:
                    print('哥,大了,大了!')
                else:
                    print('小了,小了!')
                temp = input("请重新输入吧:")
            else:
                print('没有心有灵犀的感觉,哎。')
                break
    print("时间到了,游戏结束*^_^*")
elif ve == 0:
    print('数据输入错误,再见了您嘞!')
    exit(0)

第二种是采用py的标准库来实现,代码如下:
import random

secret = random.randint(1, 10)
print('---------猜一猜---------')
temp = input("猜一猜我心里的数字:")
ve = 0
if temp.isdigit():
    ve = 1
if ve == 1:

    guess = int(temp)
    number = 0
    while temp != secret:
        number = number + 1
        if temp == secret:
            print("你是我肚子里的蛔虫么?!")
            print('哼,就算猜中了也没奖励!')
            break
        else:
            if number < 3:
                if guess > secret:
                    print('哥,大了,大了!')
                else:
                    print('小了,小了!')
                temp = input("请重新输入吧:")
            else:
                print('没有心有灵犀的感觉,哎。')
                break
    print("时间到了,游戏结束*^_^*")
elif ve == 0:
    print('数据输入错误,再见了您嘞!')
    exit(0)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-7-31 22:50:15 | 显示全部楼层
本帖最后由 zltzlt 于 2019-8-1 07:14 编辑
  1. import random
  2. secret = random.randint(1,10)
  3. print('---------猜一猜---------')
  4. temp = input("猜一猜我心里想的数字:")
  5. while not temp.isdigit():
  6.     temp = input("输入错误!请输入我心里想的数字")
  7. temp = int(temp)
  8. number=0
  9.    while temp!=secret:
  10.         number=number+1
  11.         if  temp == secret:
  12.             print("你是我心里的蛔虫么?!")
  13.             print('哼,就算猜中了也没奖励!')
  14.             break
  15.         else:
  16.             if number<3:
  17.                 if guess > secret:
  18.                     print('哥,大了,大了!')
  19.                 else:
  20.                     print('小了,小了!')
  21.                 temp = input("请重新输入吧:")
  22.             else:
  23.                 print('没有心有灵犀的感觉,哎。')
  24.                 break
  25.     print("时间到了,游戏结束*^_^*")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-1 01:36:30 | 显示全部楼层
  1. import random
  2. secret = random.randint(1,10)
  3. print('---------猜一猜---------')
  4. # temp = input("猜一猜我心里的数字:")
  5. print('猜一猜我心里的数字:', end = ' ')
  6. temp = -1
  7. number=0

  8. while temp!=secret:
  9.    
  10.         temp = input()
  11.         if not temp.isdigit():
  12.                 print('输入格式错误!重新输入:', end = ' ')
  13.                 continue
  14.                
  15.         number=number+1
  16.         guess = int(temp)

  17.         if  guess == secret:
  18.                 print("你是我心里的蛔虫么?!")
  19.                 print('哼,就算猜中了也没奖励!')
  20.                 break
  21.         else:
  22.                 if number<3:
  23.                         if guess > secret:
  24.                                 print('哥,大了,大了!')
  25.                         else:
  26.                                 print('小了,小了!')
  27.                         print('请重新输入吧:', end = ' ')
  28.                         # temp = input("请重新输入吧:")
  29.                 else:
  30.                         print('没有心有灵犀的感觉,哎。')
  31.                         break
  32. print("时间到了,游戏结束*^_^*")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-1 07:34:26 | 显示全部楼层
for  in
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-17 08:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表