파이썬 질문 드립니다!!!!!
본문
정수 n을 입력받고, for문을 이용하여 예시와 같은 모양을 출력하라. [입력 예시 1] 4 [출력 예시 1] 1234 5678 9012 3456 [입력 예시 2] 7 [출력 예시 2] 1234567 8901234 5678901 2345678 9012345 6789012 3456789
이 문제인데 도저히 1234567890을 반복해서 나오게 하는 방법을 모르겠습니다...중첩 for 문 써도 안되던데....어떻게 하는 건가요?
답변 3
입력된 값이 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
php 로 해봤습니다
<?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
}
파이썬 기본 명령어부터 익힌 후에야 가능한 코드를 만들어주어도 어떻게 이해를 할 수 있을지
파이썬 이전에 수학적 사고가 있어야하지않을까 싶군요
다음 코드가 이해가 될지???
===================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('')
답변을 작성하시기 전에 로그인 해주세요.