找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 3730|回复: 6

[求助] 怎样判断输入的不是数字?

1

主题

4

帖子

4

积分

贫民

积分
4
FatLamb 发表于 2018-2-19 22:25:23 | 显示全部楼层 |阅读模式
目前在写一个简单的猜数字游戏程序,代码如下:
number = 7
guess = -1
print("数字猜谜游戏!")
while guess != number:
    guess = int(input("请输入你猜的数字:"))
    if guess == number:
        print("恭喜,你猜对了!")
    elif guess < number:
        print("猜的数字小了...")
    elif guess > number:
        print("猜的数字大了...")

我想将这个程序做一个延展,假如输入的是非数字的内容,例如‘abc’之类的,就显示“你输入的不是数字”,然后返回“请输入你猜的数字:”,请问这段代码该怎么写呢?
回复

使用道具 举报

0

主题

2

帖子

2

积分

贫民

积分
2
q8344 发表于 2018-2-20 10:46:24 | 显示全部楼层
看到try...except报错与异常部分你就会了
回复 支持 反对

使用道具 举报

1419

主题

1891

帖子

291

积分

侠客

积分
291

最佳新人热心会员默默耕耘

whydo1 发表于 2018-2-20 23:42:51 | 显示全部楼层
if guess.isalpha():
    print('你输入的不是数字.')
python3.4.4, win10
回复 支持 反对

使用道具 举报

1

主题

4

帖子

4

积分

贫民

积分
4
FatLamb  楼主| 发表于 2018-2-21 12:51:10 | 显示全部楼层
whydo1 发表于 2018-2-20 23:42
if guess.isalpha():
    print('你输入的不是数字.')

加入了这段代码后,程序报错了
回复 支持 反对

使用道具 举报

0

主题

2

帖子

2

积分

贫民

积分
2
xiulu 发表于 2018-2-21 22:56:04 | 显示全部楼层
我把你的代码修改了一下,刚刚测试了一下能运行,我用的是python3.6
isdigit()方法用来判断字符串中,是否包含数字
代码如下:

number = 7
guess = -1
print("数字猜谜游戏!")
while guess != number:
    guess = input("请输入你猜的数字:")
   
    #如果字符串中只包含数字
    if guess.isdigit():
        guess=int(guess)
        if guess == number:
            print("恭喜,你猜对了!")
        elif guess < number:
            print("猜的数字小了...")
        elif guess > number:
            print("猜的数字大了...")
    #如果字符串含非数字
    else:
        print("你输入的不是数字")
回复 支持 反对

使用道具 举报

0

主题

1

帖子

21

积分

贫民

积分
21
itfanr 发表于 2018-2-22 18:32:50 | 显示全部楼层
FatLamb 发表于 2018-2-21 12:51
加入了这段代码后,程序报错了

在文件开头增加:
  1. #-*- coding:utf-8 -*-
复制代码
回复 支持 反对

使用道具 举报

1

主题

4

帖子

4

积分

贫民

积分
4
FatLamb  楼主| 发表于 2018-2-23 09:43:06 | 显示全部楼层
xiulu 发表于 2018-2-21 22:56
我把你的代码修改了一下,刚刚测试了一下能运行,我用的是python3.6
isdigit()方法用来判断字符串中,是否 ...

好的,谢谢哥们,程序测试通过了,得到了我想要的结果。
回复 支持 反对

使用道具 举报

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

本版积分规则

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