python - 如果数字是偶数,则对奇数进行平方和对数字 1 进行平方
问题描述
名为odd_square 的函数,它以一个数字作为参数。
如果数字是奇数,则返回数字的平方(2 的幂)。
如果数字是偶数,则返回 (number-1) 平方。
输入 7 时,函数应返回 49。输入 6 时,函数应返回 25。
def odd_square():
print('Squaring')
number = input("Enter an integer number: ")
s = number*number
q = number-1
if num % 2 == 0:
return q*q
else:
return s
TypeError:odd_square() 接受 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)
您需要转换number
为integer
作为input()
返回string
。
TypeError: odd_square() takes 0 positional arguments but 1 was given
您的odd_square()
函数不会根据您的def
. 看来您odd_square()
在调用它时正在提供参数。
如果您觉得难以理解,请在下方评论。