파이썬 질문 드립니다!!!!!

정수 n을 입력받고, for문을 이용하여
예시와 같은 모양을 출력하라.

[입력 예시 1]
4

[출력 예시 1]
1234
5678
9012
3456

[입력 예시 2]
7

[출력 예시 2]
1234567
8901234
5678901
2345678
9012345
6789012
3456789

이 문제인데 도저히 1234567890을 반복해서 나오게 하는 방법을 모르겠습니다...중첩 for 문 써도 안되던데....어떻게 하는 건가요?

|

답변 3개 / 댓글 8개

파이썬 기본 명령어부터 익힌 후에야 가능한 코드를 만들어주어도 어떻게 이해를 할 수 있을지

파이썬 이전에 수학적 사고가 있어야하지않을까 싶군요

다음 코드가 이해가 될지???

 

===================for문 두번 사용

k = 0
for i in range(n) :
  for j in range(n) :
    k=k+1
    b= k % 10
    print(b, end='')
    if(j==n-1) :   print('')

 

===================== for문 한번 사용

k = 0
for i in range(n*n) :
    k=k+1
    b= k % 10
    print(b, end='')
    if( k % 7 == 0) : print('')

 

답변에 대한 댓글 2개

헐,,,,좋아요 하루에 10번밖에 못 하네요. ㅡㅡ;
이런이런.... 자정 지난 후 좋아용 눌러드릴게요.
감사합니다...학교에서 필수로 듣는 거라 열심히 하고 싶었는데 점점 어려워지고 따라가기 벅차지네요 열심히 해보겠습니다 감사합니다!!!

php 로 해봤습니다

 

Copy
<?php
$n = 7; // 입력값
$string = '1234567890';
$strlen = strlen($string);
for ($i=0; $i<$n; $i++) {
    for ($j=0; $j<$n; $j++) {
        $k = ((($i * $n) % $strlen) + $j) % $strlen;
        echo $string[$k];
    }
    echo '<br>'; // \n
}

답변에 대한 댓글 1개

헉... 진자 다들 너무 친절하셔서.... 감사합니다..

입력된 값이 n이라고 하면 i=n*n으로  for나 while을 돌리고.

 

i를 프린트 해야 되는데 10을 넘으면 안되니

i와 10의 나머지 값을 한개씩 프린트하고

 

i 값을 나머지 계산이 n-1과 같을 때마다 "\n" 을 하나씩 넣어주면 될 것 같습니다.

 

파이썬에서 한글자 프린트 하는 방법은 https://stackoverflow.com/questions/493386/how-to-print-without-newline-or-space 

답변에 대한 댓글 5개

친절한 답변 감사합니다.. 그런데 제가 정말 파이썬 시작한 지 얼마 안돼서 아직 잘 모르거든요...
\n 이게 뭔가요......
오전에 이 말씀을 봤을 땐 이해를 못 했는데,
균이 님 코드를 보니 이제 이해가 되네요. ㅎ
( ^ _________ ~ ) ===b
친절하시네요... 정말 감사합니다 열심히 해보겠습니다!

답변을 작성하려면 로그인이 필요합니다.