在Python中,=是賦值的意思,==是用于判斷是否相等。

創(chuàng)新互聯(lián)從2013年開始,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站制作、網(wǎng)站設(shè)計網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元咸寧做網(wǎng)站,已為上家服務(wù),為咸寧各地企業(yè)和個人服務(wù),聯(lián)系電話:13518219792
他們之間的區(qū)別就是代表的含義有所不同。
一個等號代表的含義是賦值,將某一個數(shù)值賦給某個變量,比如a=3,將3這個數(shù)值賦予給a。
兩個等號是判斷是否相等,返回True和False,比如1==1,他們是相等的,那么就返回true;1==2,他們是不相等的,那么就返回false。
【造成這個問題的原因分析】:在計算機中,所有的數(shù)都是二進制保存,十進制的小數(shù)在和二進制數(shù)字相互轉(zhuǎn)化的時候,就會出現(xiàn)誤差,也就是浮點數(shù)的精確度。由于浮點數(shù)的精確度不可能完全精準,所以出現(xiàn)這樣的情況在所難免。所以會出現(xiàn)問題的截圖中所示的狀態(tài)。
【解決方法】:可以通過將小數(shù)減法變?yōu)檎麛?shù)減法降低誤差。如下圖所示:
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()函數(shù)可以接受兩個參數(shù)round(value,ndigits),第一個參數(shù)為實際操作數(shù),第二個參數(shù)為實際保留幾位,如果第二個參數(shù)不填,則默認保留到整數(shù)位。
Python3.X對于浮點數(shù)默認的是提供17位數(shù)字的精度。
#定義函數(shù)
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("請輸入第一個數(shù)字:")
opera = input("請輸入運算符:")
get_num2 = input("請輸入第二個數(shù)字:")
get_retain = input("請輸入保留小數(shù)位數(shù):")
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("輸出結(jié)果是:",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
網(wǎng)站題目:python函數(shù)減法,Python 減法
轉(zhuǎn)載注明:http://chinadenli.net/article32/phiosc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、標簽優(yōu)化、App設(shè)計、網(wǎng)站改版、網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)