鱼C论坛

 找回密码
 立即注册
查看: 3654|回复: 12

关于input()输入的疑问

[复制链接]
发表于 2014-2-18 18:15:13 | 显示全部楼层 |阅读模式
1鱼币
大家好,我有个疑问:ii=input() 输入得到的是一个字符串,用isinstance(ii,int)判断的话永远都是flase,如果用ii=int(ii)的话输入字符串的话编译器又会报错,怎么不用int(ii),直接用isinstance(ii,int)判断输入的是不是数字类型?
  1. import random
  2. temp = random.randint(1,10)
  3. ii=0
  4. while ii!=temp:
  5.     ii=input('请输入你猜测的数字:')
  6.    # ii=int(ii)
  7.     if isinstance(ii,int):
  8.         if ii==temp:
  9.             print('恭喜你,猜中了~!')
  10.         else:
  11.             if ii>temp:
  12.                 print('大了,大了~!')
  13.             else:
  14.                 print('小了,小了~!')
  15.     else:
  16.         print('你输入的不是数字,请重新输入!')
  17. print('退出游戏!')
复制代码

最佳答案

查看完整内容

import random temp = random.randint(1,10) ii=0 while ii!=temp: ii=input('请输入你猜测的数字:') if ii.isdigit()== False: #为什么改用这句if not temp.isdigit():,运行会报错呢? print('你输入的不是数字,请重新输入!') else: ii_1 = int(ii) ii = ii_1 if ii==temp: print('恭喜你,猜中了~!') else: ...
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-2-18 18:15:14 | 显示全部楼层


import random
temp = random.randint(1,10)
ii=0
while ii!=temp:
    ii=input('请输入你猜测的数字:')
    if ii.isdigit()== False:                           #为什么改用这句if not temp.isdigit():,运行会报错呢?
        print('你输入的不是数字,请重新输入!')
    else:
        ii_1 = int(ii)
        ii = ii_1
        if ii==temp:
            print('恭喜你,猜中了~!')
        else:
            if ii>temp:
                print('大了,大了~!')
            else:
                print('小了,小了~!')
print('退出游戏!')
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-2-19 10:14:59 | 显示全部楼层
怎么发两遍啊
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-2-21 21:52:45 | 显示全部楼层
isinstance(ii,int)会生成返回值:FALSE,但ii=int(ii)是错误的语法形式,直接导致程序报错
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-2-26 19:56:27 | 显示全部楼层
用isdigit()函数更好些,另外可以加个中间变量ii_1:

import random
temp = random.randint(1,10)
ii=0
while ii!=temp:
    ii=input('请输入你猜测的数字:')
    if ii.isdigit()== False:
        print('你输入的不是数字,请重新输入!')
    else:
        ii_1 = int(ii)
        ii = ii_1
        if ii==temp:
            print('恭喜你,猜中了~!')
        else:
            if ii>temp:
                print('大了,大了~!')
            else:
                print('小了,小了~!')
print('退出游戏!')
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-4-15 15:41:54 | 显示全部楼层
关于这个好像课后题有补充知识点。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-6-3 09:38:03 | 显示全部楼层
我也是刚学python
  1. import random
  2. secret = random.randint(1,10)
  3. print("~~~~~~~~~~~~~~~~猜数字~~~~~~~~~~~~~~~~~")
  4. temp=input("猜猜我心中的数字是啥:")
  5. while not temp.isdigit():
  6.     temp = input("输入错误,请重新输入:")
  7. guess=int(temp)

  8. #if guess == secret:
  9. #    print("我艹,居然猜中了!")
  10. #    print("猜中的了也没有奖励!")
  11. #else:
  12. #    print("猜错了,o(∩_∩)o 哈哈")
  13. #print("哦哦,游戏结束!")
  14. i=1
  15. while i<3 :
  16.     if guess == secret:
  17.         print("我艹,居然猜中了!")
  18.         print("猜中的了也没有奖励!")
  19.         break
  20.     else:
  21.         if guess > secret:
  22.             print("你想多了,你猜的太大了!")
  23.             temp=input("请重新输入:")
  24.             while not temp.isdigit():
  25.                 temp = input("输入错误,请重新输入:")
  26.             guess=int(temp)
  27.         else:
  28.             print("噢噢,你猜的数小了点哦!")
  29.             temp=input("请重新输入:")
  30.             while not temp.isdigit():
  31.                 temp = input("输入错误,请重新输入:")
  32.             guess=int(temp)
  33.     i=i+1
  34. print("唉,我和你心没有灵犀!")      
  35. print("哦哦,游戏结束!")
  36. #i=1
  37. #while guess !=secret and i<3 :
  38. #        temp=input("哎呀,错了请重新输入")
  39. #        guess=int(temp)
  40. #        if guess ==secret:
  41. #            print("我艹,居然猜中了!")
  42. #            print("猜中的了也没有奖励!")
  43. #        else:
  44. #            if guess > secret :
  45. #                print("你想多了,你猜的太大了!")
  46. #            else:
  47. #                print("噢噢,你猜的数小了点哦!")
  48. #        i=i+1
  49. #print("唉,我和你心没有灵犀!答案是:")
  50. #print(secret)
  51. #print("哦哦,游戏结束!")
  52.             
  53.             
  54.    


复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-6-15 15:32:55 | 显示全部楼层
楼上的代码写得不错
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-6-15 21:06:19 | 显示全部楼层
qingchen 发表于 2014-6-3 09:38
我也是刚学python

WOW,太强了,赞一个{:7_155:}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-6-18 00:41:41 | 显示全部楼层
.isdigit方法到底是怎么定义的?我想不出它到底是用的什么定义的,咳,学习的道路越来越艰难了。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-6-21 20:01:55 | 显示全部楼层
赞~~~~:loveliness:
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-12-19 10:21:45 | 显示全部楼层
学习!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-7-10 16:25:20 | 显示全部楼层
没有raw_input就是不方便,3还是有很多需要改进的地方
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-12 04:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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