Найти - Пользователи
Полная версия: Изменить значение print в зависимости от True\False
Начало » Python для новичков » Изменить значение print в зависимости от True\False
1
Suliman
Как на Питоне красиво изменить вывод print в зависимости от булевого значений.

Суть. В коде определил:
self.megabite_count = True # Calculate in Megabites. If NO calculate in Gigabits

далее я считаю размер директории и вывожу ее на экран
print "Amusing size: %s" %(amusingsize)
Как мне чтобы не городить кучу лишних блоков if/else выводить MB или GB в зависимости от значения megabite_count ?

Есть какой-то красивый вариант?

Была идея сделать так:
 print ("Amusing size: %s") %(if(amusingsize) "GB" else "MB") 
Типа если amusingsize True то передаем GB иначе MB
FishHook
["GB", "MB"][megabite_count]
py.user.next
Ещё способ.

>>> n = True
>>> '1 {}'.format(n and 'Mb' or 'Gb')
'1 Mb'
>>> n = False
>>> '1 {}'.format(n and 'Mb' or 'Gb')
'1 Gb'
>>>
Budulianin
Suliman
print (“Amusing size: %s”) %(if(amusingsize) “GB” else “MB”)
Не так, а так:
print("Amusing size: {}".format("GB" if amusingsize else "MB")) 
Suliman
FishHook
["GB", "MB"][megabite_count]
А где про этот вариант почитать? Точнее про этот синтаксис.
Budulianin
Suliman
А где про этот вариант почитать? Точнее про этот синтаксис.

Вот здесь и читай. Тут никакой магии нет.

Тернарный оператор
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB