鱼C论坛

 找回密码
 立即注册
查看: 2275|回复: 17

[已解决]python 008讲int()问题

[复制链接]
发表于 2016-12-21 16:53:08 | 显示全部楼层 |阅读模式

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

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

x
score = int(input('请输入一个分数:'))
if 100 >= score >= 90:
    print('A')
if 90 > score >= 80:
    print('B')
if 80 > score >= 60:
    print('C')
if 60 > score >= 0:
    print('D')
if score < 0 or score > 100:
    print('输入错误!')

请教论坛各位前辈,这是python 008讲代码

当我输入一个浮点型数字,例如90.5,会出现以下错误:

请输入一个分数:90.5
Traceback (most recent call last):
  File "E:\software\小甲鱼Python\008了不起的分支和循环2\源代码\method1.py", line 1, in <module>
    score = int(input('请输入一个分数:'))
ValueError: invalid literal for int() with base 10: '90.5'

实在不知道为什么会出现这样的错误,还望大神解答,谢谢啦
最佳答案
2016-12-21 18:30:38
原因在第一行score = int(input('请输入一个分数:')) 其中的int()是将输入的变量类型强制转换成整型,90.5是浮点型。数据类型不对。改成score = float(input('请输入一个分数:'))就行了。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-12-21 18:30:38 | 显示全部楼层    本楼为最佳答案   
原因在第一行score = int(input('请输入一个分数:')) 其中的int()是将输入的变量类型强制转换成整型,90.5是浮点型。数据类型不对。改成score = float(input('请输入一个分数:'))就行了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2016-12-21 22:21:17 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-12-21 23:09:11 | 显示全部楼层
厉害
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-12-21 23:40:05 | 显示全部楼层
赞同一楼!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-12-23 11:38:04 | 显示全部楼层
int()是整型啊 兄弟。 换换换
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-26 10:04:20 | 显示全部楼层
frankxxx 发表于 2016-12-21 18:30
原因在第一行score = int(input('请输入一个分数:')) 其中的int()是将输入的变量类型强制转换成整型,90 ...

原来是这样,谢谢哈
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-26 10:10:30 | 显示全部楼层
frankxxx 发表于 2016-12-21 18:30
原因在第一行score = int(input('请输入一个分数:')) 其中的int()是将输入的变量类型强制转换成整型,90 ...

那想请问下,假如我希望这个程序我输入的分数既可能是整型也可能是浮点型,那应该如何修改呢?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-12-26 11:17:02 | 显示全部楼层
int 是整形
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-12-26 11:18:39 | 显示全部楼层
Rex-Li 发表于 2016-12-26 10:10
那想请问下,假如我希望这个程序我输入的分数既可能是整型也可能是浮点型,那应该如何修改呢?

把int()改成float()
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-12-26 13:08:41 | 显示全部楼层
Rex-Li 发表于 2016-12-26 10:10
那想请问下,假如我希望这个程序我输入的分数既可能是整型也可能是浮点型,那应该如何修改呢?

加一个条件判断.判断'.'是否在字符串中.在就用float(),不在就用int()
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-27 09:02:31 | 显示全部楼层

好的,谢谢哈
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-12-27 09:03:50 | 显示全部楼层
tmkuej 发表于 2016-12-26 13:08
加一个条件判断.判断'.'是否在字符串中.在就用float(),不在就用int()

谢谢哈
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-27 17:42:24 | 显示全部楼层

int()不是能够把浮点数截取成整数么?按理说就用int()也应该可以才对啊?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-28 08:12:23 | 显示全部楼层
疍鈔飯 发表于 2017-4-27 17:42
int()不是能够把浮点数截取成整数么?按理说就用int()也应该可以才对啊?

的确int可以把浮点数变成整数,但不能把字符串型式的浮点数变成整数。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-3 16:16:10 | 显示全部楼层
冬雪雪冬 发表于 2017-4-28 08:12
的确int可以把浮点数变成整数,但不能把字符串型式的浮点数变成整数。

再请教一下,既然输入的是字符串“请输入一个分数:90.5”不能变成整数,那又怎么能够变成浮点数呢?字符串里面可是包含了汉字的哦。

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-3 16:35:21 | 显示全部楼层
“请输入一个分数:”这个字符串是input函数的参数,是提示符。真正输入的是"90.5"
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-3 22:28:36 | 显示全部楼层
冬雪雪冬 发表于 2017-5-3 16:35
“请输入一个分数:”这个字符串是input函数的参数,是提示符。真正输入的是"90.5"

多谢赐教!懂了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-24 14:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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