2017-03-02 68 views
0

我正在做一个代码来确定正弦函数的导数,但我有两个问题。在阅读它们之前,请注意,这不是我的全部代码(这只是一个开始,我不想复制整个代码,因为它的长度超过100行),而且它还远远没有完成。正弦函数的衍生物

  1. 我的代码无法运行。它总是说语法错误,并在'if'语句中突出显示冒号,这很奇怪,因为那部分对我来说似乎很好。

  2. 当打印解决方案时,我不希望计算的数学值和打印的字符串之间存在空格。我在他们之间添加了逗号,但我不知道如何摆脱去那里的空间。

print("y=C(sin(Ax))^p") 
C= float(input("What is the coefficient(C; c!=0)? ")) 
A= float(input("What is (A; A!=0)? ")) 
P= float(input("What is the function rasied to the power of (P; P!=0)?") 
if P==1: 
    if A==1: 
     if C==1: 
      print("dy/dx=cos(x)") 
     elif C>0: 
      print("dy/dx=",C,"cos(x)") 
    elif A>1: 
     if C==1: 
      print("dy/dx=",A,"cos(",A,"x)") 
     elif C>1: 
      print("dy/dx=",A*C,"cos(",A,"x)") 
     elif C<1: 
      print("dy/dx=",A*C,"cos(",A,"x)") 
    elif A<1: 
     if C==1: 
      print("dy/dx=",A,"cos(",A*-1,"x)") 
     elif C>1: 
      print("dy/dx=",A*C,"cos(",A*-1,"x)") 
     elif C<1: 
      print("dy/dx=",A*C,"cos(",A*-1,"x)") 
+0

如果您将输出字符串从其各个部分组装起来,那么对于每个部分分别用空字符串替换''1 *“'和'”^ 0“',它可能会更短无论何时发生。 – LutzL

回答

1

你的间距为关闭。缩进在python中非常重要。只需在python中进行选择就很容易,所以你不会犯错误,比如只敲三次而不是四次。仔细查看下面的代码,我修正了间距 - 差别很小。

print("y=C(sin(Ax))^p") 
C= float(input("What is the coefficient(C; c!=0)? ")) 
A= float(input("What is (A; A!=0)? ")) 
P= float(input("What is the function rasied to the power of (P; P!=0)?")) 
if (P==1): 
    if A==1: 
     if C==1: 
      print("dy/dx=cos(x)") 
     elif C>0: 
      print("dy/dx=",C,"cos(x)") 
    elif A>1: 
     if C==1: 
      print("dy/dx=",A,"cos(",A,"x)") 
     elif C>1: 
      print("dy/dx=",A*C,"cos(",A,"x)") 
     elif C<1: 
      print("dy/dx=",A*C,"cos(",A,"x)") 
    elif A<1: 
     if C==1: 
      print("dy/dx=",A,"cos(",A*-1,"x)") 
     elif C>1: 
      print("dy/dx=",A*C,"cos(",A*-1,"x)") 
     elif C<1: 
      print("dy/dx=",A*C,"cos(",A*-1,"x)") 

至于没有间距的打印,只需使用+操作符。例如print("some" + "thing")会输出字符串"something"

+1

我知道我应该避免评论只是为了表示感谢,但非常感谢。对此,我真的非常感激。 – Vanessa

+0

没问题,乐意帮忙!如果您对我的回答满意,建议您接受它来解决问题。 :) –