나는 출력이 필요 위 코드를 정확한 간격으로 정확히 출력하도록이 코드를 작성하는 방법은 무엇입니까?파이썬 간격과 %
print("Video Games:", total, "/8 (or", total*100/8,"%)")
을하지만 공간이;
나는 시도 8/8 및 8/8 대신에 8/8; 100.0 % 대신 100.0 %
나는 출력이 필요 위 코드를 정확한 간격으로 정확히 출력하도록이 코드를 작성하는 방법은 무엇입니까?파이썬 간격과 %
print("Video Games:", total, "/8 (or", total*100/8,"%)")
을하지만 공간이;
나는 시도 8/8 및 8/8 대신에 8/8; 100.0 % 대신 100.0 %
당신은 사용할 수 String formatting (모두 파이썬 2 또는 3)이 같은 :
파이썬 3.0out = "Video Games: {total}/8 (or {percent}%)".format(total=total, percent=total*100/8)
print(out)
위 제공 :
Video Games: 7/8 (or 87.5%)
또는 파이썬을 2.0 아래의 (에 의한 정수 나누기에) 얻을 :
Video Games: 7/8 (or 87%)
편집 : 이에 대한 Gnibbler에 대한 모든 신용 :
그것은 문자열 포맷이 비율 계산을 돌볼 수 있도록함으로써 짧은, 통제 된 방식으로 수행 할 수 있습니다:
out = "Video Games: {total}/8 (or {ratio:.2%})".format(total=total, ratio=total/8.0)
print(out)
이 또한 제공
이 (소수점 사항을주의하고) 끝에 0 :Video Games: 7/8 (or 87.50%)
당신이 사용할 수있는 것은 다음과
print "Video Games: %d/8 (or %0.2f%%)" % (total, total*100/8)
파이썬에는 형식이 지정된 문자열을 만드는 방법이 너무 많이 있습니다. 내가 가장 좋아하는 아직 만 간략하게 언급 된 언급되지 않았습니다
print "Video Games: %d/8 (or %.1f%%)" % (total, total*100/8.0)
아래 파이썬 2.7의 경우, 정수 나누기에 대한주의 (내가 분모 8.0
이 그 이유이다). 백분율은 %%
이며 문자가 %
으로 해석되도록합니다.
대체 문자열이 많아서 문자열에 어떤 대체 문자열이 해당하는지 추적 할 수없는 확장 문자열이 있습니다. 그것은 이렇게 가고 다음 vars()
호출이 %(total)d
및 %(percentage).1f
위해 삽입하는 것을 알 수 있도록, 현재 이름 공간에있는 모든 변수를 포함 {'total': 8, 'percentage': 100.0, ...}
생산
percentage = total*100/8.0
print "Video Games: %(total)d/8 (or %(percentage).1f%%)" % vars()
. 좀 더 자세한 정보이지만 더 많은 자체 문서화가 가능합니다.당신이 percentage
에 대한 새로운 변수를 생성하지 않은 경우, 당신은 할 수 있었다 : 나는 +
반복적으로 복사 문자열이 문자열 연결을 알았을 때
print "Video Games: %(total)d/8 (or %(percentage).1f%%)" % {"total": total, "percentage": total*100/8.0}
내가 이것을 사용하기 시작 : 많은 +
징후로 큰 문자열을 구축 문자열 길이에서 O (n^2)에 접근하는 것은 매우 비효율적 일 수 있습니다. 대부분의 경우 초소형 속도 최적화이지만 방금 습관을 가졌고 코드를 읽는 것이 훨씬 쉽습니다.
-1 % - 서식은 [더 이상 사용되지 않으며 향후 어느 시점에서 사라질 수 있습니다.] (http://docs.python.org/release/3.1.5/library/stdtypes.html#old-string-formatting-operations) –
str.format
에는 인쇄 비율에 대한 특별한 트릭이 있습니다.
"Video Games: {total}/8 or {percent:.1%}".format(total=total, percent=total/8.0)
.1
수단 "소수점 자리"가 암시 적으로 100
파이썬의 버전에 따라 퍼센트 값이 0이 아닌 값을 얻으려면 float으로 나누어야 할 수도 있습니다. 파이썬 2에서는'7/8 == 0'입니다. –
파이썬 3처럼 보일 지 모르지만 안전을 위해'.0'을 추가해야합니다. –
체크 아웃 링크 비율의 예를 곱한 것 때문에
%
, 그것은 비율의 의미는 –@gnibbler을 게시! 그것은 놀라 울 정도입니다! 나는 당신의 답변이나 코멘트에서 아무것도 배운 적이 없어 !!! –