请问map(float,input ().split())后面if不工作是啥情况呀?

img


请问这个后面if不工作是啥情况呀?把map那一行删掉了就改成KG01可以运行,非常感谢!

KG03 = map(float, input().split())得到的是一个map对象,可以使用next(KG03)取值。所以你的第二行应该是if next(KG03) == 1:
此外,其实你第一行处理输入的方式不好.建议你直接将输入数据转换为int即可,即KG03 = int(input())
以上两种任选其一,如有帮助请点击采纳,谢谢!

不是不工作,是没有满足if条件

input()函数是等待用户输入,你需要输入一些东西它才能继续运行

你使用的map(float,input().split())首先第一个参数是float呀,看一下map函数定义:

map() 函数语法:

map(function, iterable, ...)
参数
function -- 函数
iterable -- 一个或多个序列

那么你输入的值1会转为float类型,这样存入内存的会有精度的1.0这样你if判断直接使用==是false的,那么就会导致if不起作用。你试试将float改为int试试。

KGO3是个map类型他和1根本不相等

因为map里面有input等待用户输入,如果输入的结果不等于1,是不符合if的条件的,所以不会走if逻辑