2017-10-18 6 views
0

을 정수로 난 내가 오류 때문에이 코드를 변경하는 방법, 계산 한 후 백분율 기호이 필요합니다. 소수점을 제거하기 위해 계산은 'int'입니다.추가 문자열

global score 
score = 2 

def test(score): 
    percentage = int(((score)/5)*100) + ("%") 
    print (percentage) 

test(score) 
+1

문자열로 전화 번호 캐스트. –

+0

* 여전히 * 숫자 * back *을 str로 변환해야합니다. – Mangohero1

답변

5

를 사용하여 문자열 형식 : 오류가 말한대로

print('{:.0%}'.format(score/5)) 
0

을 시도, 당신은 int 형과 문자열 사이의 + 연산자를 적용 할 수 없습니다. 당신은, 그러나, 문자열로 자신을 INT를 변환 할 수 있습니다 :

percentage = str(int(((score)/5)*100)) + ("%") 
# Here ------^ 
0

사용 파이썬에서이

global score 
score = 2 

def test(score): 
    percentage = str(int(((score)/5)*100)) + "%" 
    print (percentage) 

test(score) 
1

(다른 언어의 많은)에 + 연산자는 두 가지 목적을 제공합니다. 두 숫자 (숫자 + 숫자)의 합을 얻거나 문자열 (문자열 + 문자열)을 연결하는 데 사용할 수 있습니다. 이 경우, 파이썬은 +이 무엇을해야하는지 결정할 수 없습니다. 피연산자 중 하나는 숫자이고 다른 하나는 문자열입니다.

이 문제를 해결하려면 하나의 피연산자를 다른 피연산자와 일치하도록 수정해야합니다. 당신이 완전히 + 도랑과 형식 구문 갈 수

str(int(((score)/5)*100)) + "%" 

또는

:이 경우, 유일한 옵션은 쉽게 내장 str() 기능을 사용하여 수행하는 문자열 (에 수를 확인하는 것입니다. 이전 구문 :

"%d%%" % int(((score)/5)*100) 

새로운 구문 :

파이썬> = 3.6
'{}%'.format(int(((score)/5)*100)) 
0

:

percentage = f"{(score/5) * 100}%" 
print(percentage)