wangxiaolvshi 发表于 2022-5-1 18:33:21

关于int()函数--patyon第6课

课上及课后都提到了int()函数,说是将指定的值转换为整数,但我在运行程序时,好像没有实现相关功能呢?
"""数字比大小"""
num1=int(input("请输入第一个整数"))
num2=int(input("请输入第二个整数"))
if num1<num2:
    print("第一个数字比第二个数字小!")

if num1==num2:
    print("第一个数字和第二个数字一样大!")

if num1>num2:
    print("第一个数字比第二个数字大")

print("游戏结束,不玩了")

在这个程序运行起来时,为什么输入2.3等类似的小数时就开始报错呢

Traceback (most recent call last):
File "D:/Python/game2.py", line 2, in <module>
    num1=int(input("请输入第一个整数"))
ValueError: invalid literal for int() with base 10: '2.3'

请大佬、前辈给解释下!!

Twilight6 发表于 2022-5-1 18:34:54



因为 int 函数不能转换 浮点数字符串,只能转换纯数字字符串

你可以将 int 函数改成 float 函数 ,float 函数可以转换浮点字符串为浮点型

isdkz 发表于 2022-5-1 18:36:57

本帖最后由 isdkz 于 2022-5-1 21:23 编辑

int() 函数是没法将一个小数字符串转化成整数的,

你可以用 float 转化,也可以使用 eval

num1=float(input("请输入第一个整数"))
num2=float(input("请输入第二个整数"))
if num1<num2:
    print("第一个数字比第二个数字小!")

if num1==num2:
    print("第一个数字和第二个数字一样大!")

if num1>num2:
    print("第一个数字比第二个数字大")

print("游戏结束,不玩了")



num1=eval(input("请输入第一个整数"))
num2=eval(input("请输入第二个整数"))
if num1<num2:
    print("第一个数字比第二个数字小!")

if num1==num2:
    print("第一个数字和第二个数字一样大!")

if num1>num2:
    print("第一个数字比第二个数字大")

print("游戏结束,不玩了")

老八秘制 发表于 2022-5-1 19:37:39

int()就是不能转换浮点数得
楼上都住网上吗

柿子饼同学 发表于 2022-5-1 19:48:32

int 不能操作字符串里带小数点的, 只能是整数
可用 float
另外 , 这个语言叫 python 哦

Chen-Xing 发表于 2022-5-1 20:41:57

int是整型,float是浮点

wangxiaolvshi 发表于 2022-5-1 21:17:48

柿子饼同学 发表于 2022-5-1 19:48
int 不能操作字符串里带小数点的, 只能是整数
可用 float
另外 , 这个语言叫 python 哦

感谢提醒,我这刚入门“人生苦短,我用python”

柿子饼同学 发表于 2022-5-1 21:22:55

wangxiaolvshi 发表于 2022-5-1 21:17
感谢提醒,我这刚入门“人生苦短,我用python”

加油加油{:10_277:}
页: [1]
查看完整版本: 关于int()函数--patyon第6课