0
我遇到了運行此程序的麻煩。
它告訴我,我有一個嘗試將字符串轉換爲浮點時的ValueError
ValueError: could not convert string to float
的問題是,雖然,它只是跳過我輸入的命令,並跳轉到
print("Invalid Response")
這個程序能正常工作在我的手機,但不是在我的Windows 10筆記本電腦。
任何幫助?嘗試運行它,讓我知道它是否適合你。
def calc(): #The function performing calculation.
if chars == "+":
result = num1 + num2
print (result)
return result
elif chars == "-":
result = num1 - num2
print(result)
return result
elif chars == "*":
result = num1 * num2
print(result)
return result
elif chars == "/":
result = float(num1)/float(num2)
print(result)
return result
else:
print("Invalid or unsupported operation")
cont = ""
def contin():
result = calc()
print("Operate? y/n: ")
cont = input()
if cont == "y":
print(result) # output is: ought to be:
chars = input() #result result
contin_num = float(input())
calc(contin_num) #result operate y/n
print(result, chars, contin_num)
elif cont == "n":
result = 0
print(result)
else:
print ("Invalid response.")
num1 = float(input())
chars = input()
num2 = float(input())
result = 0
while num1 > 0 or num2 > 0:
calc()
contin()
break
if num1 == 0 and num2 == 0:
print("Zero or undefined.")
你的縮進是不好的:你的'elif'與'if'有不同的縮進,而且他們的縮進比其餘的函數中的縮進更少。修正縮進,然後再試一次。 –
這些只是我做的調整,因爲Stack Exchange堅持我有四個空格縮進。在我的原始程序中,這不是這樣,所有if和elif的縮進都是正確的。進行更正並嘗試運行它。 – SOMEONEE
不,您的責任是發佈與您想要運行的代碼相對應的代碼。我不知道你想讓你的函數'calc()'結束,所以我很難做出更正。發佈代碼的常用方法是從文本文件中複製並粘貼,用鼠標或鍵盤突出顯示代碼,然後在問題編輯器中單擊「代碼示例」圖標(它看起來像一對大括號)。這將很容易地爲每一行添加四個空格。 –