鱼C论坛

 找回密码
 立即注册
查看: 4149|回复: 11

看啦三集以后写了个程序,发现怎么运行出错

[复制链接]
发表于 2013-12-12 19:27:43 | 显示全部楼层 |阅读模式

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

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

x
import random
sj=random.randint(1,10)
print('@又一个游戏-------------------')
sr=input('猜猜我在想那个数值1-10,给你3次机会:')
while False==isinstance(sr,int):
    sr=input('想什么呀@¥%%…………%,好好回答:')
xh=0
while xh!=2 and sr!=sj:
    if sr<sj:
        print('嘿嘿,小了点')
    else:
        print('哈哈,大了点')
    sr=input('哼哼,接着猜吧:')
    while False==isinstance(sr,int):
        sr=input('想什么呀@¥%%…………%,好好回答:')
xh+=1
if sr==sj:
    print('恭喜你回答正确')
    print('可是,我是不会给你奖励的')
else:
    print('╮(╯▽╰)╭看来你我无缘!!!!')
input('任意键结束游戏')
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-12-12 19:45:21 | 显示全部楼层
import random
sj=random.randint(1,10)
print('@又一个游戏-------------------')
sr=input('猜猜我在想那个数值1-10,给你3次机会:')
if False!=isinstance(sr,int):
    sr=int(sr)
while False==isinstance(sr,int):
    sr=input('想什么呀@¥%%…………%,好好回答:')
    if False!=isinstance(sr,int):
        sr=int(sr)
xh=0
while xh!=2 and sr!=sj:
    if sr<sj:
        print('嘿嘿,小了点')
    else:
        print('哈哈,大了点')
    sr=input('哼哼,接着猜吧:')
    if False!=isinstance(sr,int):
        sr=int(sr)
    while False==isinstance(sr,int):
        sr=input('想什么呀@¥%%…………%,好好回答:')
        if False!=isinstance(sr,int):
            sr=int(sr)
xh+=1
if sr==sj:
    print('恭喜你回答正确')
    print('可是,我是不会给你奖励的')
else:
    print('╮(╯▽╰)╭看来你我无缘!!!!')
input('任意键结束游戏')
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-12-12 20:26:40 | 显示全部楼层
  1. import random
  2. sj=random.randint(1,10)
  3. print('@又一个游戏-------------------')
  4. sr=input('猜猜我在想那个数值1-10,给你3次机会:')
  5. if False==isinstance(sr,int):
  6.     sr=int(sr)
  7. while isinstance(sr,int) == False:
  8.     sr=input('想什么呀@¥%%…………%,好好回答:')
  9.     if isinstance(sr,int) == False:
  10.         sr=int(sr)
  11. xh=0
  12. while xh!=2 and sr!=sj:
  13.     if sr<sj:
  14.         print('嘿嘿,小了点')
  15.     else:
  16.         print('哈哈,大了点')
  17.     sr=input('哼哼,接着猜吧:')
  18.     if False==isinstance(sr,int):
  19.         sr=int(sr)
  20.     while False==isinstance(sr,int):
  21.         sr=input('想什么呀@¥%%…………%,好好回答:')
  22.         if False==isinstance(sr,int):
  23.             sr=int(sr)
  24.     xh+=1
  25. if sr==sj:
  26.     print('恭喜你回答正确')
  27.     print('可是,我是不会给你奖励的')
  28. else:
  29.     print('╮(╯▽╰)╭看来你我无缘!!!!')
  30. input('任意键结束游戏')
复制代码
改了两个地方:
1、判断输入是否是int型变量的!=改为了==
2、xh+=1的缩进
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-13 12:59:48 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-13 13:01:20 | 显示全部楼层
缩进是忘记打啦
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-13 13:01:54 | 显示全部楼层
还是错的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-12-13 13:17:38 | 显示全部楼层
我想要实现的功能是输入数字的猜谜游戏
如果用户输入字符就从新输入
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-12-13 16:04:48 | 显示全部楼层
1138242948 发表于 2013-12-13 13:17
我想要实现的功能是输入数字的猜谜游戏
如果用户输入字符就从新输入

我晕,理解错了你的问题,不好意思,水平不够,解决不了你的问题
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-12-13 16:13:22 | 显示全部楼层
  1. import random
  2. sj=random.randint(1,10)
  3. print('@又一个游戏-------------------')
  4. sr=input('猜猜我在想那个数值1-10,给你3次机会:')
  5. while sr.isdigit() == False:
  6.     sr=input('想什么呀@¥%%…………%,好好回答:')
  7. sr=int(sr)
  8. xh=0
  9. while xh!=2 and sr!=sj:
  10.     if sr<sj:
  11.         print('嘿嘿,小了点')
  12.     else:
  13.         print('哈哈,大了点')
  14.     sr=input('哼哼,接着猜吧:')
  15.     while sr.isdigit() == False:
  16.         sr=input('想什么呀@¥%%…………%,好好回答:')
  17.     sr=int(sr)
  18.     xh+=1
  19. if sr==sj:
  20.     print('恭喜你回答正确')
  21.     print('可是,我是不会给你奖励的')
  22. else:
  23.     print('╮(╯▽╰)╭看来你我无缘!!!!')
  24. input('任意键结束游戏')
复制代码
现在好像可以了,你再看看
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-12-13 16:29:22 | 显示全部楼层
航空之神 发表于 2013-12-13 16:04
我晕,理解错了你的问题,不好意思,水平不够,解决不了你的问题

那你用%d接收数据,在判断其ascii码值的是否是字符试试
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-12-13 19:00:17 | 显示全部楼层
maomingkun 发表于 2013-12-13 16:29
那你用%d接收数据,在判断其ascii码值的是否是字符试试

后来发的程序中用的字符串方法,s.isdigit(),如果全是数字返回True
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-12-31 11:12:57 | 显示全部楼层
什么啊。while False==isinstance(sr,int):这个地方永远都是成立的。input的输入类型永远都是字符串啊。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-10 20:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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