鱼C论坛

 找回密码
 立即注册
查看: 2653|回复: 26

[已解决]想要分辨偶数与奇数不知问题在哪全部显示偶数

[复制链接]
发表于 2018-1-8 16:37:22 | 显示全部楼层 |阅读模式

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

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

x
a = input('input:')
number = int(a)
if number / 2 == float:
    print('奇数')
else:
    print('偶数')
最佳答案
2018-1-8 22:24:53
本帖最后由 冰封雪舞 于 2018-1-8 22:26 编辑
幻影骑士 发表于 2018-1-8 18:33
我试了一下,好像也不行,不知是不是我电脑的问题


想要不用余数的方法判断奇数偶数也可以
a = input('大爷请输入你想要判断的数字:')
number = int(a)
if number / 2==number//2:
    print('大爷%d是个偶数'%number)
else:
    print('大爷%d是个奇数'%number)

关键是if number / 2==number//2:这句,如果需要帮助的话,兄弟吱一声。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-1-8 17:00:51 | 显示全部楼层
第一,number / 2 不论是否能整除,结果都是浮点数
第二,number / 2 == float,没有这种语法。
可以写成
if number % 2:
    print('奇数')
else:
   print('偶数')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-1-8 17:02:05 | 显示全部楼层
你这里的写法不太对,应该是判断number/2的类型是不是float,而不是判断number/2是不是等于float,如下更改后就能正常运行了:
  1. a = input('input:')
  2. number = int(a)
  3. if type(number / 2) == float:
  4.     print('奇数')
  5. else:
  6.     print('偶数')
复制代码

或者:
  1. a = input('input:')
  2. number = int(a)
  3. if isinstance(number / 2, float):
  4.     print('奇数')
  5. else:
  6.     print('偶数')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-8 17:51:19 | 显示全部楼层
我这边还是不行,不知是不是软件的问题
EA9JLN1)V%TYATC@YM0$FL8.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-8 17:52:10 | 显示全部楼层
冬雪雪冬 发表于 2018-1-8 17:00
第一,number / 2 不论是否能整除,结果都是浮点数
第二,number / 2 == float,没有这种语法。
可以写成 ...

嗯,你说的是对的,我想尝试一下不用余数看能不能实现
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-8 17:54:23 | 显示全部楼层
冬雪雪冬 发表于 2018-1-8 17:00
第一,number / 2 不论是否能整除,结果都是浮点数
第二,number / 2 == float,没有这种语法。
可以写成 ...

我想试一试能不能不用余数来实现对奇数偶数的判别
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-8 18:06:26 | 显示全部楼层
幻影骑士 发表于 2018-1-8 17:54
我想试一试能不能不用余数来实现对奇数偶数的判别

可以这样写:
  1. a = input('input:')
  2. number = int(a)
  3. if (number / 2).is_integer():
  4.     print('偶数')
  5. else:
  6.     print('奇数')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-8 18:33:39 | 显示全部楼层
我试了一下,好像也不行,不知是不是我电脑的问题
0Q)60}$Z6P@%N5`L7VE7MOT.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-8 22:19:58 | 显示全部楼层
holdme 发表于 2018-1-8 17:02
你这里的写法不太对,应该是判断number/2的类型是不是float,而不是判断number/2是不是等于float,如下更改 ...

兄弟你太想当然了,number/2的得数总是float型,比如说6/2=3.0而不是3,所以也是浮点型。所以你给出的两个程序都不对。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-8 22:23:01 From FishC Mobile | 显示全部楼层
幻影骑士 发表于 2018-1-8 18:33
我试了一下,好像也不行,不知是不是我电脑的问题

你的Python版本是?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-1-8 22:24:53 | 显示全部楼层    本楼为最佳答案   
本帖最后由 冰封雪舞 于 2018-1-8 22:26 编辑
幻影骑士 发表于 2018-1-8 18:33
我试了一下,好像也不行,不知是不是我电脑的问题


想要不用余数的方法判断奇数偶数也可以
a = input('大爷请输入你想要判断的数字:')
number = int(a)
if number / 2==number//2:
    print('大爷%d是个偶数'%number)
else:
    print('大爷%d是个奇数'%number)

关键是if number / 2==number//2:这句,如果需要帮助的话,兄弟吱一声。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-9 08:25:10 | 显示全部楼层
冰封雪舞 发表于 2018-1-8 22:24
想要不用余数的方法判断奇数偶数也可以
a = input('大爷请输入你想要判断的数字:')
number = int(a)
...

老哥,这个想法太好了,用地板除法中奇数比偶数小1来判别,非常厉害,赞

有个代码想问一下
在print('大爷%d是个偶数'%number)中
%d 和%number 是怎么使用的,%d 为什么能显示输入的数字,多谢了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-9 08:27:59 | 显示全部楼层
冬雪雪冬 发表于 2018-1-8 22:23
你的Python版本是?

我又重新下载了最新版,你的是对的,是我电脑的问题,抱歉
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-9 09:52:50 | 显示全部楼层
本帖最后由 冰封雪舞 于 2018-1-9 09:56 编辑
幻影骑士 发表于 2018-1-9 08:25
老哥,这个想法太好了,用地板除法中奇数比偶数小1来判别,非常厉害,赞

有个代码想问一下


这个%是字符串格式化内容里的,你可以看下字符串格式化那一章,如果没有学习到以后学习了就明白了,很简单也很实用。
%也叫格式符为真实值预留位置,并控制显示的格式。格式符可以包含有一个类型码,用以控制显示的类型,如下:
%s    字符串 (采用str()的显示)
%r    字符串 (采用repr()的显示)
%c    单个字符
%b    二进制整数
%d    十进制整数
%i    十进制整数
%o    八进制整数
%x    十六进制整数
%e    指数 (基底写为e)
%E    指数 (基底写为E)
%f    浮点数
%F    浮点数,与上相同
%g    指数(e)或浮点数 (根据显示长度)
%G    指数(E)或浮点数 (根据显示长度)
%%    字符"%"

print('大爷%d是个偶数'%number)里边%d代表告诉计算机这个字符串是什么取决于后边那个%后边的变量值,在这里就是number的值,d是说要如何显示,如果换成b就是用二进制显示number的值,你可以摸索着都试验下。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-9 11:14:48 | 显示全部楼层
冰封雪舞 发表于 2018-1-9 09:52
这个%是字符串格式化内容里的,你可以看下字符串格式化那一章,如果没有学习到以后学习了就明白了,很 ...


老哥,我试着把%d  改成了 %b, 发现不成功,不知是什么问题,帮我看看,多谢了老哥
%d  改为 %b.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-9 15:53:53 | 显示全部楼层
幻影骑士 发表于 2018-1-9 11:14
老哥,我试着把%d  改成了 %b, 发现不成功,不知是什么问题,帮我看看,多谢了老哥

那个二进制确实不能用b,复制粘贴的时候没仔细看,如果你想要试下二进制显示可以改成用bin()函数来转化,再按字符串格式输出来:
if number / 2==number//2:
    print('大爷%s是个偶数'%bin(number))
else:
    print('大爷%s是个奇数'%bin(number))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-9 16:01:30 | 显示全部楼层
最简单的就是
a = input('请输入数字:')
number = int(a)
if number % 2 == 1:
    print('奇数')
else:
    print('偶数')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-9 18:18:47 | 显示全部楼层
冰封雪舞 发表于 2018-1-8 22:19
兄弟你太想当然了,number/2的得数总是float型,比如说6/2=3.0而不是3,所以也是浮点型。所以你给出的两 ...

哈哈,还真的是,闹笑话了,谢谢指正
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-9 19:06:04 | 显示全部楼层
ast123 发表于 2018-1-9 16:01
最简单的就是
a = input('请输入数字:')
number = int(a)

嗯,对的,用余数是最方便的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-9 19:21:48 | 显示全部楼层
holdme 发表于 2018-1-9 18:18
哈哈,还真的是,闹笑话了,谢谢指正

感谢每一个热心解答的人
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 15:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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