鱼C论坛

 找回密码
 立即注册
查看: 3423|回复: 9

新人求助…0基础第5讲

[复制链接]
发表于 2017-5-26 13:56:12 From FishC Mobile | 显示全部楼层 |阅读模式

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

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

x
想法是写一个判断奇偶的代码

然后写了这个

temp = input("输入一个数字判断单双:")
while not temp.isdigit():
    temp = input("必须是数字\n再输入一次:")
    number = temp
if number%2 ==0:
    print ("是偶数噢")
else:
    print ("是奇数噢")


然后运行的时候报错了…
这个是报错内容

输入一个数字判断单双:输入非数字还正常
必须是数字
再输入一次:6
Traceback (most recent call last):
  File "<string>", line 2, in <module>
AttributeError: 'int' object has no attribute 'isdigit'


运行系统
Python 3.3.0 (default, Aug 13 2016, 17:03:14)
[GCC 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.31)] on unknown
Type "help", "copyright", "credits" or "license" for more information.
>>>



蠢新求助…

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-5-26 14:05:49 | 显示全部楼层
temp = input("输入一个数字判断单双:")
while not temp.isdigit():
    temp = input("必须是数字\n再输入一次:")
number = int(temp)
if number%2 ==0:
    print ("是偶数噢")
else:
    print ("是奇数噢")

Python3里 input()输入的是值默认为字符串,不能用于求余或加减乘除判断,要加一个int(temp),转换为整形
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-26 14:10:10 From FishC Mobile | 显示全部楼层
ButcherRabbit 发表于 2017-5-26 14:05
Python3里 input()输入的是值默认为字符串,不能用于求余或加减乘除判断,要加一个int(temp),转换为整 ...

不行,还是报错,错误代码是一样的…
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-26 14:13:02 | 显示全部楼层
2115844948 发表于 2017-5-26 14:10
不行,还是报错,错误代码是一样的…


你number = int(temp) 不在while not in 循环里

你复制我的代码试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-26 14:19:06 From FishC Mobile | 显示全部楼层
ButcherRabbit 发表于 2017-5-26 14:13
你number = int(temp) 不在while not in 循环里

你复制我的代码试试

还是一样的诶…
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-26 14:26:18 | 显示全部楼层

上传错误截图我们看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-26 14:28:33 From FishC Mobile | 显示全部楼层
这个
IMG_2271.PNG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-5-26 14:37:58 | 显示全部楼层

手机的编码,我去群里请外援吧,电脑的py 是不会有这种错误的
12.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-26 14:55:21 From FishC Mobile | 显示全部楼层
啊问到了,群里有解释说
temp 是int类型
用str(temp)转化成字符串


temp = input("输入一个数字判断单双:")
while not str(temp).isdigit():
    temp = input("必须是数字\n再输入一次:")
number = temp
if number%2 ==0:
    print ("是偶数噢")
else:
    print ("是奇数噢")


这样就没问题了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-26 15:34:07 | 显示全部楼层
很怀疑你的python是3.X版本的,如果是python2,则input得到是是数字,没有isdigit方法,可以将input改为raw_input
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-8 06:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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