2017-03-02 71 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

沒問題,樂意幫忙!如果您對我的回答滿意,建議您接受它來解決問題。 :) –