鱼C论坛

 找回密码
 立即注册
查看: 941|回复: 6

[已解决]新手求助

[复制链接]
发表于 2021-12-12 00:12:47 | 显示全部楼层 |阅读模式
1鱼币
求助:
为什么在idle模式下运行的代码(int)无法自动获取整数但是交互模式却是可以的
最佳答案
2021-12-12 00:12:48
其实就是 int() 可以将浮点数改成整数,但是不能将字符串变成整数
比如 3.3 和加了引号的字符串 "3.3" 是不一样的,一个是数字,一个是字符串
>>> int("3.3")
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    int("3.3")
ValueError: invalid literal for int() with base 10: '3.3'
>>> int(3.3)
3

运行的代码

运行的代码
ff4ca907c350ec81880f0f07fa6ea9d.png

最佳答案

查看完整内容

其实就是 int() 可以将浮点数改成整数,但是不能将字符串变成整数 比如 3.3 和加了引号的字符串 "3.3" 是不一样的,一个是数字,一个是字符串 >>> int("3.3") Traceback (most recent call last): File "", line 1, in int("3.3") ValueError: invalid literal for int() with base 10: '3.3' >>> int(3.3) 3
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-12-12 00:12:48 | 显示全部楼层    本楼为最佳答案   
其实就是 int() 可以将浮点数改成整数,但是不能将字符串变成整数
比如 3.3 和加了引号的字符串 "3.3" 是不一样的,一个是数字,一个是字符串
>>> int("3.3")
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    int("3.3")
ValueError: invalid literal for int() with base 10: '3.3'
>>> int(3.3)
3
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-12-12 00:42:57 | 显示全部楼层
本帖最后由 suchocolate 于 2021-12-12 10:00 编辑
  1. num1 = float(input('Input number1: '))  # 改成float确保无论输入的是整数还是浮点数都能计算。
  2. num2 = float(input('Input number2: '))
  3. if num1 > num2:
  4.     print('num1 > num2')
  5. elif num1 < num2:  # 对于同一个判断式,要用elif。如果用多个if就会多计算2次,造成CPU浪费。
  6.     print('num1 < num2')
  7. else:
  8.     print('num1 = num2')
复制代码

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

使用道具 举报

发表于 2021-12-12 07:44:51 From FishC Mobile | 显示全部楼层
int一个浮点数自然没问题,但是要int一个浮点型字符串,就要先float强转,然后再int强转
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-12-12 10:39:37 | 显示全部楼层
楼主你应该是把两个状况想象成同个状况吧?

状况 1:

  1. num = input() # 尝试输入[color=Red]浮点数[/color]
  2. num = int(num)
复制代码


状况 2:

  1. num = 3.33
  2. num = int(num)
复制代码


以上两者根本不同,状况 1 会报错,状况 2 没有问题。

状况 1:将字符串变成整数
状况 2:将浮点数变成整数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-12-12 11:09:38 | 显示全部楼层
傻眼貓咪 发表于 2021-12-12 10:39
楼主你应该是把两个状况想象成同个状况吧?

状况 1:

为什么不是同一个情况呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-12-12 11:15:43 | 显示全部楼层
wakakka 发表于 2021-12-12 11:09
为什么不是同一个情况呢

大哥,字符串和浮点数不一样类型

你把香蕉变成萝卜,你把大白菜变成萝卜,完全是两种状况,这点很容易明白吧?再不明白我也无语了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-1 16:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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