Estoy tratando de imprimir así

per = repr('%')
print('Accuracy score is %s%s'%(round(accuracy*100,2),per))

Que espero mostrar Accuracy score is 78.13% devuelve Accuracy score is 78.13'%'. No quiero que esa incómoda ' ' se quede en mi %. ¿Cómo podría eliminar eso ' '? o hay alguna forma de imprimirlo?

0
potato student 28 may. 2020 a las 06:49

5 respuestas

La mejor respuesta

Puede incluir un% literal con un doble %% así:

print('Accuracy score is %s%%' % round(accuracy*100,2))
2
Michael Waddell 28 may. 2020 a las 03:53

Al utilizar repr('%') está agregando las comillas adicionales:

>>> per1 = '%'
>>> per2 = repr('%')
>>> per1
'%'
>>> per2
"'%'"

Pero, sinceramente, una forma más fácil sería simplemente poner un literal % escapado en su declaración de impresión. Para el % lo escaparías con otro %, por ejemplo:

print('Accuracy score is %s%% '%(round(accuracy*100,2)))
Accuracy score is 78.13%
1
Sam 28 may. 2020 a las 03:57

Podrías usar .format en su lugar

print('Accuracy score is {}%'.format(round(accuracy*100,2)))

Salida:

Accuracy score is 97.8%
-1
yoskovia 28 may. 2020 a las 03:53

Solo tiene que usar r'%' en lugar de per en

print('Accuracy score is %s%s'%(round(accuracy*100,2),r'%'))
0
Harishankar G 28 may. 2020 a las 05:14

Las cadenas f son literales de cadena que proporcionan una forma legible de incluir el valor de las expresiones de Python dentro de las cadenas.

f'Accuracy score is {round(accuracy*100,2)}'
1
Victor S 28 may. 2020 a las 04:08