Python 为什么在两行上写入int(input())与在一行上写入int(input())不同?

Python 为什么在两行上写入int(input())与在一行上写入int(input())不同?,python,input,Python,Input,我正在编写代码来解决CodeChef上的以下问题: 问题本身并不重要,我的问题是我提交了两个答案: 1: x,y = input().split() x = int(x) y = float(y) if x % 5 == 0 and x <= y - 0.50: print(y - (x+0.50)) else: print(y) 2. x = int(input(x)) y = float(input(y)) if x % 5

我正在编写代码来解决CodeChef上的以下问题:

问题本身并不重要,我的问题是我提交了两个答案:

1: 

x,y = input().split()
x = int(x)
y = float(y)

if x % 5 == 0 and x <= y - 0.50:
    print(y - (x+0.50))
else:
    print(y)


2. 
    x = int(input(x))
    y = float(input(y))
    
    if x % 5 == 0 and x <= y - 0.50:
        print(y - (x+0.50))
    else:
        print(y)
1:
x、 y=输入().split()
x=int(x)
y=浮动(y)

如果x%5==0且x
input()
读取一行。第一个代码读取一行(我假设
x
y
在一行上)。第二个代码用
x
y
读取一行,然后尝试读取第二行(我认为不存在)。第二个解决方案将因名称错误而失败:
…输入(x).
输入的参数x是什么?那你也一样。下一个问题可能是@YevhenKuzmovych所说的,这两个问题都有可能。如果我把它改为x=int(input())和y=float(input())-那么这会解决NameError吗?此外,input()是否总是读取一行?是的,它将解决名称错误,但不是问题,即输入是在一行中给出的(例如,
30120.0
),这将导致
int(…)
失败。因此,对于codechef问题,两行解决方案将不起作用,但从“开发人员的角度”来看,两个版本将是相同的。@hefufhiwh codechef上的示例给出了输入应该如何的清晰提示。