我正在上课,我感到很困惑。如果你可以引导我完成这个过程并告诉我我做错了什么,那真的会有所帮助。我有一个与括号有关的错误,因为它们中没有任何内容。我是新手,所以我很抱歉。
def FractionDivider(a,b,c,d):
n = ()
d = ()
n2 = ()
d2 = ()
print int(float(n)/d), int(float(n2)/d2)
return float (n)/d / (n2)/d2
答案 0 :(得分:0)
您的功能正在接受参数a
,b
,c
和d
,但您并未在任何地方使用它们。而是定义了四个新变量。尝试:
def FractionDivider(n, d, n2, d2):
并删除空的括号位,看看是否符合您的要求。
答案 1 :(得分:0)
你不能声明变量,因为你正在做n =(),然后尝试为它分配一个整数或字符串。
n =()并不意味着:
n目前没有任何东西,但我会很快分配一个变量。
()--->元组https://docs.python.org/3/tutorial/datastructures.html
它们是序列数据类型的两个例子(参见序列类型 - 列表,元组,范围)。因为Python是一种不断发展的语言,其他 可以添加序列数据类型。还有另一个标准 序列数据类型:元组。
所以在你的函数中,如果你想要为varialbes分配作为参数传递的内容
代表:
def FractionDivider(a,b,c,d):
n = a
d = b
n2 = c
d2 = d
考虑从上面的链接中阅读更多关于元组的内容
答案 2 :(得分:0)
n=()
是一个有效的python语句,没有问题。但是,n=()
正在评估n
为空的tuple()
。我相信你要做的是如下。
def FractionDivider(a,b,c,d):
'''
Divides a fraction by another fraction...
'''
n = a #setting each individual parameter to a new name.
d = b #creating a pointer is often useful in order to preserve original data
n2 = c #but it is however not necessary in this function
d2 = d
return (float(n)/d) / (float(n2)/d2) #we return our math, Also order of operations exists here '''1/2/3/4 != (1/2)/(3/4)'''
print FractionDivider(1, 2, 3, 4) #here we print the result of our function call.
#indentation is extremely important in Python
这是一种编写相同功能的简单方法
def FractionDivider_2(n,d,n2,d2):
return (float(n)/d) / (float(n2)/d2)
print FractionDivider_2(1,2,3,4)