<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=%EA%B5%AC%EA%B5%AC%EB%8B%A8%2F%EC%9E%84%EC%9D%B8%ED%83%9D</id>
	<title>구구단/임인택 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=%EA%B5%AC%EA%B5%AC%EB%8B%A8%2F%EC%9E%84%EC%9D%B8%ED%83%9D"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EA%B5%AC%EA%B5%AC%EB%8B%A8/%EC%9E%84%EC%9D%B8%ED%83%9D&amp;action=history"/>
	<updated>2026-05-15T05:25:13Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EA%B5%AC%EA%B5%AC%EB%8B%A8/%EC%9E%84%EC%9D%B8%ED%83%9D&amp;diff=42100&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:28, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EA%B5%AC%EA%B5%AC%EB%8B%A8/%EC%9E%84%EC%9D%B8%ED%83%9D&amp;diff=42100&amp;oldid=prev"/>
		<updated>2021-02-07T05:28:46Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;구구단을 짜놓은 페이지입니다.&lt;br /&gt;
----&lt;br /&gt;
=== 첫 프로그램(루프 이용) ===&lt;br /&gt;
 # gugudan with loop.&lt;br /&gt;
 &lt;br /&gt;
 for dan in range(2, 10):&lt;br /&gt;
 	for op in range(1, 10):&lt;br /&gt;
 		print (&amp;#039;%d x %d = %d&amp;#039;)%(dan, op, dan*op)&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
=== 약간 구조적으로 리팩토링 ===&lt;br /&gt;
 # gugudan with slightly structured programming methodology.&lt;br /&gt;
 def dan(d):&lt;br /&gt;
 	for op in range(1, 10):&lt;br /&gt;
 		print (&amp;#039;%d x %d = %d&amp;#039;)%(d,op,d*op)&lt;br /&gt;
 &lt;br /&gt;
 def gugudan():&lt;br /&gt;
 	for d in range(2, 10):&lt;br /&gt;
 		dan(d)&lt;br /&gt;
 &lt;br /&gt;
 if __name__==&amp;#039;__main__&amp;#039;:&lt;br /&gt;
 	gugudan()&lt;br /&gt;
  &lt;br /&gt;
=== recursion 사용 ===&lt;br /&gt;
 # gugudan with recursion.&lt;br /&gt;
 &lt;br /&gt;
 def recurGugu(dan, op, sum):&lt;br /&gt;
 	if op &amp;amp;lt; 10 :&lt;br /&gt;
 		sum += dan&lt;br /&gt;
 		print (&amp;#039;%d x %d = %d&amp;#039;) % (dan, op, sum)&lt;br /&gt;
 		recurGugu(dan, op+1, sum)&lt;br /&gt;
 	else:&lt;br /&gt;
 		if dan &amp;amp;lt; 9 :&lt;br /&gt;
 			recurGugu(dan+1, 1, 0)&lt;br /&gt;
 		else:&lt;br /&gt;
 			return&lt;br /&gt;
 	return&lt;br /&gt;
 &lt;br /&gt;
 if __name__==&amp;#039;__main__&amp;#039;:&lt;br /&gt;
 	recurGugu(2, 1, 0)&lt;br /&gt;
  &lt;br /&gt;
=== 객체지향(이라고 보기는 힘든면도..) ===&lt;br /&gt;
 # gugudan with object-oriented programming (just express elements as objects)&lt;br /&gt;
 &lt;br /&gt;
 class Gugudan:&lt;br /&gt;
 	def __init__(self):&lt;br /&gt;
 		for d in range(2, 10):&lt;br /&gt;
 			Dan(d)&lt;br /&gt;
 class Dan:&lt;br /&gt;
 	def __init__(self, dan):&lt;br /&gt;
 		self.dan = dan&lt;br /&gt;
 		for op in range(1, 10):&lt;br /&gt;
 			opDan = Operand(dan)&lt;br /&gt;
 			opMul = Operand(op)&lt;br /&gt;
 			print DanLine(opDan, opMul)&lt;br /&gt;
 &lt;br /&gt;
 class DanLine:&lt;br /&gt;
 	def __init__(self, op1, op2):&lt;br /&gt;
 		self.op1 = op1.value()&lt;br /&gt;
 		self.op2 = op2.value()&lt;br /&gt;
 &lt;br /&gt;
 	def __str__(self):&lt;br /&gt;
 		return (&amp;#039;%d x %d = %d&amp;#039;)%(self.op1, self.op2, self.op1*self.op2)&lt;br /&gt;
 	&lt;br /&gt;
 class Operand:&lt;br /&gt;
 	def __init__(self, value):&lt;br /&gt;
 		self.val = value&lt;br /&gt;
 	def value(self):&lt;br /&gt;
 		return self.val&lt;br /&gt;
 &lt;br /&gt;
 if __name__==&amp;#039;__main__&amp;#039;:&lt;br /&gt;
 	Gugudan()&lt;br /&gt;
 &lt;br /&gt;
  &lt;br /&gt;
----&lt;br /&gt;
[[구구단]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>