2016-07-09 2 views
0

현재 Im은 rpg의 텍스트 기반 charectersheet에서 작업하고 있으며, 지금까지는 꽤 잘 진행 중입니다. 것은 내 물건이 잘 작동하는 동안, 나는 또한 그것이 좋게 보이기를 원한다. 평범한 텍스트보다 조금 나아졌다.동일한 print 문에서 여러 줄의 길이를 찾고 비교할 수 있습니까?

다른 것들 중에서도 나는 menues를 "상자"에 넣으려는 아이디어를 생각해 냈으므로 인쇄 된 다른 모든 stuf와는 구분하기가 쉽습니다. 이런 식으로 뭔가 :

¤===========================¤ 
|Do you understand?   | 
|1. Yes      | 
|2. No      | 
|3. Your question is stupid | 
¤===========================¤ 

내가 지금까지 내 메뉴를 공식화하는 방법은 다음과 같이이다 :

내가 메뉴에서 가장 긴 라인이 얼마나 오래 알고 있어야이 연료 소모량을 만들려면
print("please pick an option:\n" 
        "1. option 1\n" 
        "2. option 2\n") 
choice = input() 
      if choice == "1": 
        print("Option 1") 
      elif choice == "2": 
        print("Option 2") 

, 그래서 나는 상자를 올바른 크기로 만들 수 있습니다. 나는 이것을 (수동으로하는 것과 같이) 할 수있는 다른 방법이 있음을 알고 있지만, 실제로는 새로운 것을 배울 것이고, 그것은 나에게 훨씬 쉽다.

TL : 단일 인쇄 문의 각 \ n 사이의 문자 수를 찾는 방법이 있습니까?

답변

1

모든 문자가 똑같이 넓고 (★와 같이 더 넓은 특수 문자가없는) 글꼴을 사용하고 있고 메뉴의 모든 요소 (줄)가 목록의 문자열 인 경우 가) 지금은 메뉴 아이템 전화, 다음을 수행 할 수 있습니다

maximum_length = max({len(s) for s in menuitems}) 

(대괄호와 중괄호 {} 교체 당신이 목록에서 가변 요소)

이있는 경우 [] 난 꽤 이 질문에 대한 의미가 무엇인지 확인하십시오 : "\ n 한 문자로 된 문자 수를 찾는 방법이 있습니까?" 하지만 문자열의 각 줄에있는 문자의 수를 의미하는 경우 (지금 문자열 문자열을 mystring이라고 부름) :

mystring_linelengths = [len(line) for line in mystring.splitlines()] 
for i in mystring_linelengths: 
    print(i) 

나는 이것이 도움이되기를 바랍니다.

관련 문제