проблема с использованием переменных в качестве точности формата - PullRequest
0 голосов
/ 27 ноября 2018

Я пытался использовать переменную в качестве спецификатора в точности с плавающей запятой, чтобы попытаться ограничить число десятичных знаков, показанных для числа пи:

num = float(input("What decimal point do you want pi to be displayed to?(Up to 15) "))

print(format(math.pi, '.(num)f'))

, когда я его запускаю, он показывает ValueError: Format specifier missing precision

Мне было интересно, есть ли какой-нибудь другой способ написания, чтобы я мог использовать переменную.Я довольно новый, и это, вероятно, очень простая ошибка, но я не знаю.

Спасибо за любую помощь: D

Ответы [ 2 ]

0 голосов
/ 27 ноября 2018

Вы можете просто передать его как аргумент формата ...

num="3"
print("{pi:0.{num}f}".format(pi=22/7.0,num=num))
0 голосов
/ 27 ноября 2018

Вы можете использовать оператор форматирования строки с .* в качестве опции форматирования:

from math import pi
print('%.*f' % (5, pi))

Это выводит:

3.14159
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...