j'ai un script Python qui produit la sortie suivante:Imposer que la production numérique a au moins deux décimales de suivi, y compris les zéros de fin
31.7
31.71
31.72
31.73
31.74
31.75
31.76
31.77
31.78
31.79
31.8
31.81
31.82
31.83
31.84
31.85
31.86
31.87
31.88
31.89
31.9
31.91
S'il vous plaît noter que les numéros 31.7
, 31.8
, 31.9
.
Le but de mon script est de déterminer les palindromes numériques, tels que 1.01
.
Le problème avec le script (reproduit ci-dessous) est qu'il évaluera palindromes numériques tels que 1.1
comme dité cependant - qui est pas considéré comme sortie valide dans cette situation.
Une sortie valide doit avoir exactement deux décimales. Comment appliquer la sortie numérique à au moins deux décimales finales, y compris les zéros de fin?
import sys
# This method determines whether or not the number is a Palindrome
def isPalindrome(x):
x = str(x).replace('.','')
a, z = 0, len(x) - 1
while a < z:
if x[a] != x[z]:
return False
a += 1
z -= 1
return True
if '__main__' == __name__:
trial = float(sys.argv[1])
operand = float(sys.argv[2])
candidrome = trial + (trial * 0.15)
print(candidrome)
candidrome = round(candidrome, 2)
# check whether we have a Palindrome
while not isPalindrome(candidrome):
candidrome = candidrome + (0.01 * operand)
candidrome = round(candidrome, 2)
print(candidrome)
if isPalindrome(candidrome):
print("It's a Palindrome! " + str(candidrome))
double possible de [float d'impression à n décimales y compris 0 queue de] (https://stackoverflow.com/questions/8568233/print-float-to-n- decimal-places-including-trailing-0s) –