문제 풀다 보면 한번에 여러줄 입력을 줄 때 sys.stdin.readlin보다 open(0).read()를 쓰곤 했는데
출력값이 숫자나 문자열이 하나일경우 출력값 뒤에 D가 붙어 나오더라구요
따로 eof를 줘서 이런건지 아니면 개행을 안줘서 이런건지 알고 싶습니다.
숫자나 문자열이 2개 이상인 경우에는 D가 붙어 나오지 않습니다.
왜 이런걸까요?
eof는 ctrl + D로 주고 있습니다.
문제 풀다 보면 한번에 여러줄 입력을 줄 때 sys.stdin.readlin보다 open(0).read()를 쓰곤 했는데
출력값이 숫자나 문자열이 하나일경우 출력값 뒤에 D가 붙어 나오더라구요
따로 eof를 줘서 이런건지 아니면 개행을 안줘서 이런건지 알고 싶습니다.
숫자나 문자열이 2개 이상인 경우에는 D가 붙어 나오지 않습니다.
왜 이런걸까요?
eof는 ctrl + D로 주고 있습니다.
지가 처 눌러놓고 왜 나올까요 ㅇㅈㄹ 병신년 뒤져라
0. 저어는 ctrl + z로 eof 주어야 제대로 동작함 1. 귀하 글쓴대로 해봐도 해당 증상 재현이 안됨
그럼 아무래도 인풋값에서 예외처리를 해줘야 하는데 제가 못하고 있는걸까요?
eof라는 개념을 접하고 써먹고 있는지 얼마 안되어서 아직 많이 어렵네요 ㅎㅎ...
모ㅡ르겟슴 어떻게 눌렀고 어떻게 나왔는지 사진이라도 첨부해주면 좋을듯
아 잠시만요
본문 수정이 안되네요 새글을 작성하는건 좀 민폐인건 같은데 찾아보겠습니다
아니 그냥 새글 쓰쇼
수정 했습니다
진짜 귀신이 곡할 노릇이네 재현이 안돼
버전이나 환경 차이일까요 어렵네요 ㅠㅠ
재현하려면 맥에서 해봐야 할건데
그런가 ㄹㅇ OS 차이인가
저거 입력받은걸 파일에다 출력해볼래요 with open("output.txt", "w") as f: (들여쓰기) print(blahblah, file=f) 하는식으로
네 잠시만요
사진 올렸습니다
아니 저 blahblah를 그대로 넣지말고 len({int(i)%42 ... ) 부분을 넣어주세요
아 죄송합니다
그리고 만들어졌을 output.txt의 내용도 확인해봅시다. 실행하고 입력줄 때마다 그 결과가 터미널이 아닌 output.txt에 들어갈 겁니다. 거기서도 D가 출력되는 현상이 일어나는지 확인해봅시다.
value Error가 떠서 해결해보려는데 잘 안되네요
혹시 가능하시다면 조금만 기다려주세요 ㅠㅠ
쩝,,
해결했습니다
무슨 문제였나욥
set 처리를 잘 못해서 그런거였습니다 사진 보다시피 output에서 값 잘 출력되어있습니다
아니 그래서 D출력되는건요
알려주신대로 돌리면 터미널 상에 값 출력은 안되지만 output 파일 상에서는 D가 붙지 않아요
그럼 터미널 문제나 vs code 세팅 문제라고 생각해요,, 여기서부턴 저도 몰라서 못알려줌,,
아 ㅠㅠ 그래도 감사했습니다