2015-01-30 2 views
-3

Этот вопрос довольно прост, но я не могу найти хороший способ сделать это ....как взять символ в виде строки

Дело в том, что я пытаюсь напечатать на экране ход операции ... только для целей тестирования, но у меня возникают ошибки, когда я пытаюсь напечатать что-то вроде этого: «Completed 30%»

проблема заключается в том, что «%» в настоящее время принимаются в качестве аргумента здесь:

Ниже приведена часть кода

print "Completed: %s % " % (100*loops/totalLoops) 

А вот ошибка:

print "Completed: %s %" % (100*loops/totalLoops) 
ValueError: incomplete format 

Там должно быть легко исправить за эту глупость ... но я не могу найти его.

+2

' "Выполнил:% S%"' -> ' "Выполнил:% S %%"' – vaultah

+0

Почему был вниз проголосовали этот вопрос? –

+1

@eumiro Мы должны добавить одно сообщение, которое ясно показывает, что в [Google search] (https://www.google.co.in/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q = escape +% 25 + in + python + string) (44K просмотров). –

ответ

2

Использование %% для печати одного %:

print "Completed: %s %%" % (100*loops/totalLoops) 

или использовать новый формат:

print "Completed: {0} %".format(100. * loops/totalLoops) 

, который даже позволяет печатать поплавок в виде процентов (без умножения их 100):

print "Completed: {0:.0%}".format(1. * loops/totalLoops) 

За

loops = 2 
totalLoops = 7 

печатает

'Completed: 29%' 
+0

Спасибо .... глупая вещь, но это заставляет меня сходить с ума. Я не знал об этом новом формате. Спасибо, в дополнение к ответу я узнал что-то новое !! – codeKiller

Смежные вопросы