как сократить число, которое рассчитывается для соответствия правильному суффиксу - PullRequest
0 голосов
/ 28 мая 2019

Мне нужно сократить число, полученное в результате расчета, до наименьшего возможного значения, при этом его легко читать, например, 999 000 - 999 000 и 999 000 000 - 999 м.

Мне кажется, у меня есть кодМне нужно, но я не уверен, как я должен реализовать это в моем коде

while True: 
    bands  = input("Please enter your first band colour: ").upper() 
    print("")
    if bands== 'BLACK': 
        print("The colour black may only be entered in the 2nd or 3rd colour slots.")
        continue 
    bands1 = input("Please enter your second band colour: ").upper()
    print("")
    bands2 = input("Please enter your third band colour: ").upper()
    print("")

    print("Ohm value of resistor:", (dict[bands]*10 + dict[bands1]) * (10 ** dict[bands2]),"Ω", )
def print_prefix(value):
    prefix=('', 'K', 'M', 'G')
    i = 0
    if (1000<bands//1000**i):
        i=i+1
        print(str(value/(1000**i))+prefix[i])

Я ожидаю, что результат будет сокращен, чтобы можно было добавить префикс

1 Ответ

0 голосов
/ 28 мая 2019

Ну, это должно быть возможно с использованием кода ниже:

def print_prefix(value):
    prefix=('', 'K', 'M', 'G')
    i = 0
    while(value >= 1000):
        value = value/1000
        i += 1

    print("{} {}".format(value, prefix[i]))

В основном Вы делите число, когда оно больше или равно 1000. Поскольку каждая из букв K, M, G означает число в 1000 раз больше предыдущего.Это позволяет вам найти, какую букву вы должны использовать, и одновременно создать сокращенный номер.

...