如果是奇数,则返回数字的平方,如果是偶数,则返回(number-1)的平方

问题描述 投票:0回答:1
def odd_square(number):
    if number == 0:
        return 0
    elif number % 2 == 1:
        return number*number
    else:
        return (number - 1)*(number - 1)

square = odd_square(int(input("Enter number to square: ")))
print("square is: ",square)

输出应该类似于输入为7的函数应返回49,而输入为6的函数应返回25。但是存在EOF行错误。 Python版本3.8.0

错误:

输入数字以平方:

错误

追踪(最近通话):

文件“ tester。python3”,第9行,在

平方=奇数平方(int(input(“输入要平方的数字:”)))

EOFError:读取行时出现EOF

python
1个回答
0
投票

如果使用的是Python 2.7,input将尝试在字符串输入中执行代码。因此,如果您不输入任何内容,则会收到EOF错误。

为了防止用户执行随机输入的代码,对于Python 2.7,建议使用raw_input。 (或升级到Python 3+,并使用input,因为在几周后将不再支持Python 2.7。

即使进行了此更改,如果不输入任何内容,您仍然会从代码中收到错误,这不会是EOF错误。

感谢克里斯·道尔(Chris Doyle)在评论中的讨论

© www.soinside.com 2019 - 2024. All rights reserved.