간단한 프로그래밍 질문-n이하의 자연수 출력
글쓴이: DongOl Jo@Google / 작성시간: 일, 2019/08/11 - 6:03오후
n=input('숫자를 하나 입력하시오:')
list1=[]
list2=[]
for k in range(1,int(n)+1):
for p in range(1,k+1):
if k%p==0:list1.append(p)
if sum(list1)==k:
list2.append(k)
print(list2)
#실행 시 1만 출력됩니다ㅜㅜ 어디가 잘못된 건지 알려주시면 감사하겠습니다
Forums:
무슨 언어인지 안 알려주셨지만 대충 파이썬 같아
무슨 언어인지 안 알려주셨지만 대충 파이썬 같아 보이는데 들여쓰기가 다 날라가서 구조를 파악하기 어렵군요.
제가 관심법으로 잘 들여다 보니 1 이상 n 이하 자연수 중에서 자신의 모든 양의 약수의 합과 같은 자연수를 모두 찾으려 하신 것 같은데,
당연히 그런 자연수는 1밖에 없습니다. 잘못된 게 전혀 없네요. 축하합니다.
n이하 자연수라 하셨으니,
n이하 자연수라 하셨으니,
1부터 시작하고 n 까지 출력하는건가요?
n = input("your number: ")
list_n = list(range(1, int(n) + 1))
그리고 list_n 을 화면에 뿌리시면...
한 줄로 끝내고 싶으시다면
print([x for x in range(1, int(input('your number: ')) + 1)])
bash로 더 간단히 됩니다.
read -p "your number: " n; seq $n
테스트 해보니 아름답네요;;;
아름다운 코드 감사드립니다^^^
머찌네여! 한줄 코드 감사합니다^^^
머찌네여! 한줄 코드 감사합니다^^^
댓글 달기