Python kullanarak küçük bir matematik denetleyicide çalışıyorum ve her şey bölümler dışında iyi çalışıyor. Sorun: İki ondalıklı (2/3 = 0,67), kayan noktalı bölüm, bir girişe eşittir (0.67). Ancak, bir kullanıcının girişini karşılaştırmak için kullandığım if deyimi, eşit olmadığını söylüyor.Python: Aynı değere sahip bir değişkene eşit olmayan bölüm
Varsayım: problem yüzdürme ile ilgilidir.
Kodum: Farklı bir yaklaşımla bir işlev oluşturabilir, ama çalışmıyor anlamak için merak ediyorum Tabii
result = float(value0/value1)
result = round(result,2)
value3 = input("Number 1")
value3 = float(value3)
if result != value3:
print "Wrong!"
print result
elif result == value:
print "Right!"
.
Benzer bir iş parçacığı varsa, lütfen bağlantıyı yükleyin ve bunu kapatın. Herhangi bir yardım için teşekkürler. eşitlik hep kullanım için yüzer kontrol ederken
Ama 2/3 0.67'ye eşit değildir. – kindall
Bunun yerine ondalık modül kullanılmasını öneririm. https://docs.python.org/3/library/decimal.html#decimal.Decimal –
Rick: Bağlantı için teşekkürler. kindall: 2/3'ün yuvarlanmış sonucunu iki ondalık basamakla belirtiyorum. Bu yüzden 0.666666 ... (veya 2/3) ile 0.67 arasında bir fark olduğunu biliyorum. – canguru