0
我的問題是,我的程序將無法識別用戶輸入的方程兩邊包括一個變量(x),我正在使用試驗和錯誤的方法來查找。它將x視爲一個字符串,與定義的變量x分離。因此,如果用戶輸入方程式16的右側,左側輸入x * x,則程序將不會將x識別爲變量x,而是將x識別爲字符串x。請幫忙。總之,這裏是我的代碼,(是指只有一個變量類型來求解方程,X):如何讓我的用戶輸入允許python中的變量?
startingLimit=raw_input("What is the lowest estimate that your variable could possibly be?")
print
wholeNumber=raw_input("Do you know if your variable will be a whole number or a fraction? Answer: yes/no")
if (wholeNumber== "yes"):
print
fraction= raw_input("Is it a decimal/fraction? Answer:yes/no")
if (fraction=="yes"):
print
print "This program will only calculate up to the fourth place to the right of the decimal"
xfinder=0.0001
else:
xfinder=1
x=4
leftEquation=raw_input("Enter your left side of the equation:")
print
rightEquation=raw_input("Enter the right side of the equation:")
print
amountSolutions=raw_input("How many solutions are there to your equation? (up to 20)")
indivisualCount=0
count=0
while (count!=amountSolutions):
if (count==1):
if (leftEquation==rightEquation):
a=x
count=count+1
if (count==2):
if (leftEquation==rightEquation):
b=x
count=count+1
if (count==3):
if (leftEquation==rightEquation):
c=x
count=count+1
if (count==4):
if (leftEquation==rightEquation):
d=x
count=count+1
if (count==5):
if (leftEquation==rightEquation):
e=x
count=count+1
if (count==6):
if (leftEquation==rightEquation):
f=x
count=count+1
if (count==7):
if (leftEquation==rightEquation):
g=x
count=count+1
if (count==8):
if (leftEquation==rightEquation):
h=x
count=count+1
if (count==9):
if (leftEquation==rightEquation):
i=x
count=count+1
if (count==10):
if (leftEquation==rightEquation):
j=x
count=count+1
if (count==11):
if (leftEquation==rightEquation):
k=x
count=count+1
if (count==12):
if (leftEquation==rightEquation):
l=x
count=count+1
if (count==13):
if (leftEquation==rightEquation):
m=x
count=count+1
if (count==14):
if (leftEquation==rightEquation):
n=x
count=count+1
if (count==15):
if (leftEquation==rightEquation):
o=x
count=count+1
if (count==16):
if (leftEquation==rightEquation):
p=x
count=count+1
if (count==17):
if (leftEquation==rightEquation):
q=x
count=count+1
if (count==18):
if (leftEquation==rightEquation):
r=x
count=count+1
if (count==19):
if (leftEquation==rightEquation):
s=x
count=count+1
if (count==20):
if (leftEquation==rightEquation):
t=x
if (indivisualCount==0):
x=x+xfinder
indivisualCount=indivisualCount+1
x=x+xfinder
print
print "Compiling..."
time.sleep(3)
if (amountSolutions==1):
print "Solutions= ",a
if (amountSolutions==2):
print "Solutions= ",a,b
if (amountSolutions==3):
print "Solutions= ",a,b,c
if (amountSolutions==4):
print "Solutions= ",a,b,c,d
if (amountSolutions==5):
print "Solutions= ",a,b,c,d,e
if (amountSolutions==6):
print "Solutions= ",a,b,c,d,e,f
if (amountSolutions==7):
print "Solutions= ",a,b,c,d,e,f,g
if (amountSolutions==8):
print "Solutions= ",a,b,c,d,e,f,g,h
if (amountSolutions==9):
print "Solutions= ",a,b,c,d,e,f,g,h,i,j
if (amountSolutions==10):
print "Solutions= ",a,b,c,d,e,f,g,h,i,j,k
if (amountSolutions==11):
print "Solutions= ",a,b,c,d,e,f,g,h,i,j,k,l
if (amountSolutions==12):
print "Solutions= ",a,b,c,d,e,f,g,h,i,j,k,l,m
if (amountSolutions==13):
print "Solutions=",a,b,c,d,e,f,g,h,i,j,k,l,m,n
if (amountSolutions==15):
print "Solutions= ",a,b,c,d,e,f,g,h,u,j,k,l,m,n,o
if (amountSolutions==16):
print "Solutions= ",a,b,c,d,e,f,g,h,u,j,k,l,m,n,o,p
if (amountSolutions==17):
print "Solutions= ",a,b,c,d,e,f,g,h,u,j,k,l,m,n,o,p,q
if (amountSolutions==18):
print "Solutions= ",a,b,c,d,e,f,g,h,u,j,k,l,m,n,o,p,q,r
if (amountSolutions==19):
print "Solutions= ",a,b,c,d,e,f,g,h,u,j,k,l,m,n,o,p,q,r,s
if (amountSolutions==20):
print "Solutions= ",a,b,c,d,e,f,g,h,u,j,k,l,m,n,o,p,q,r,s,t
print
print
time.sleep(5)
print "PROGRAM COMPLETED"
一些不相關的建議:你應該瞭解的循環('有效範圍內(amountSolutions計數)')和列表('解決方案= []'和' solutions.append(newsolution)')。你的代碼現在有很多重複,這幾乎總是表明你需要考慮這個問題。 – DSM