2017-10-13 16 views
1

한 문자열에서 전체 이름을 이니셜로 변환하려고합니다. 내 논리는 문자열의 모든 이름을 대문자로 사용하여 공백을 기준으로 문자열을 구분 한 다음 각 색인의 첫 번째 문자를 선택한 다음 문자를 마침표로 구분 된 단일 문자열로 결합하는 것입니다.전체 이름을 이니셜로 어떻게 포맷 할 수 있습니까? (X.X.X.)

더 나은 방법이 있는지 잘 모릅니다. 내가이 완료 얼마나

def main(): 
    fstn= input("Enter your full name:") 

    fstn=fstn.title() 
    fstn= fstn.split(" ") 
    for i in fstn: 
     fstn= i[0] 
     print(fstn) 


main() 

이 다른 행에 각 초기 출력합니다 :

여기에 내 현재 진행입니까?

+0

가능한 복제 [줄 바꿈 또는 공백없이 인쇄하는 방법?] (https://stackoverflow.com/questions/493386/how-to-print --with-newline-or-space) – Kevin

답변

0

안녕하세요이 예제를 체크 아웃,

def main(): 
    fstn= input("Enter your full name:") 
    fstn=fstn.title() 
    fstn= fstn.split(" ") 
    out_str = "" 
    for i in fstn: 
     out_str = out_str + i[0] + "." 
    print(out_str) 

main() 
+0

완벽하게 작동합니다. 유일한 이슈는 마침표로 이니셜을 구분해야한다는 것입니다. 그래서 내가 올바르게 이해한다면, 당신은 out 문자열을 초기화했기 때문에 루프의 반복마다 업데이트 되었습니까? 도와 주셔서 감사합니다. –

+0

방금 ​​추가했습니다. 다시 확인하십시오. @MarcusColinHarvison – Stack

+0

오, 혼자서 그걸 알아낼 수 있었어야했는데. 도움을 주신 것에 대해 아무리 감사드립니다. 이것은 제 첫 번째 언어이므로 이러한 작업을 수행하는 방법을 배우는 것이 쉽지 않습니다! –

2
def main(): 
    fstn= input("Enter your full name:") 
    print ('.'.join(word[0] for word in fstn.split(" ")).upper()) #for python 3 


main()