在Python中,=是賦值的意思,==是用于判斷是否相等。
創(chuàng)新互聯從2013年開始,是專業(yè)互聯網技術服務公司,擁有項目網站制作、網站設計網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元咸寧做網站,已為上家服務,為咸寧各地企業(yè)和個人服務,聯系電話:13518219792
他們之間的區(qū)別就是代表的含義有所不同。
一個等號代表的含義是賦值,將某一個數值賦給某個變量,比如a=3,將3這個數值賦予給a。
兩個等號是判斷是否相等,返回True和False,比如1==1,他們是相等的,那么就返回true;1==2,他們是不相等的,那么就返回false。
【造成這個問題的原因分析】:在計算機中,所有的數都是二進制保存,十進制的小數在和二進制數字相互轉化的時候,就會出現誤差,也就是浮點數的精確度。由于浮點數的精確度不可能完全精準,所以出現這樣的情況在所難免。所以會出現問題的截圖中所示的狀態(tài)。
【解決方法】:可以通過將小數減法變?yōu)檎麛禍p法降低誤差。如下圖所示:
import?random
max_n?=?100
i?=?0
while?True:
i?+=?1
#?隨機運算,0+,1-
op?=?random.randint(0,?1)
#?+
if?op?==?0:
x1?=?random.randint(0,?max_n)
x2?=?random.randint(0,?max_n?-?x1)
result?=?x1?+?x2
qst?=?str(x1)?+?"+"?+?str(x2)?+?"="
question?=?[qst,?result]
#?-
elif?op?==?1:
x1?=?random.randint(0,?max_n)
x2?=?random.randint(0,?x1)
result?=?x1?-?x2
qst?=?str(x1)?+?"-"?+?str(x2)?+?"="
question?=?[qst,?result]
x?=?input("第{:2d}題:{}".format(i?+?1,?question[0]))
if?int(x)?==?int(question[1]):
print("回答正確!")
else:
print("回答錯誤!{}{}".format(question[0],?question[1]))
是利用原來的向下取整的機制如果原來是
實際上Python的round()函數可以接受兩個參數round(value,ndigits),第一個參數為實際操作數,第二個參數為實際保留幾位,如果第二個參數不填,則默認保留到整數位。
Python3.X對于浮點數默認的是提供17位數字的精度。
#定義函數
class myCalc:
def __init__(self,a,b):
self.a=a
self.b=b
def addition(self,Retain):
return round(self.a + self.b ,Retain)
def subtraction(self,Retain):
return round(self.a - self.b,Retain)
def multiplication(self,Retain):
return round(self.a * self.b,Retain)
def division(self,Retain):
return round(self.a / self.b,Retain)
while True:
get_num1 = input("請輸入第一個數字:")
opera = input("請輸入運算符:")
get_num2 = input("請輸入第二個數字:")
get_retain = input("請輸入保留小數位數:")
num1 = float(get_num1)
num2 = float(get_num2)
retain = int(get_retain)
result = 0.00
if opera == "+":
result = myCalc(num1,num2).addition(retain)
elif opera == "-":
result = myCalc(num1,num2).subtraction(retain)
elif opera == "*":
result = myCalc(num1,num2).multiplication(retain)
else:
result = myCalc(num1,num2).division(retain)
print("輸出結果是:",result)
def add(a,b):#加法運算return a+bdef sub(a,b):#減法運算return a-bdef mul(a,b):#乘法運算return a*bdef div(a,b=1):#除法運算return a/b
網站題目:python函數減法,Python 減法
轉載注明:http://muchs.cn/article32/phiosc.html
成都網站建設公司_創(chuàng)新互聯,為您提供Google、標簽優(yōu)化、App設計、網站改版、網站建設、營銷型網站建設
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯