首页 > 解决方案 > 如果数字是偶数,则对奇数进行平方和对数字 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 个

标签: python

解决方案


这是易于理解的示例代码:

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)

您需要转换numberinteger作为input()返回string

TypeError: odd_square() takes 0 positional arguments but 1 was given

您的odd_square()函数不会根据您的def. 看来您odd_square()在调用它时正在提供参数。

如果您觉得难以理解,请在下方评论。


推荐阅读