ö±Ù·® ±¸Çϱâ
ÇÁ·Î±×·¥ 1Â÷ ¸®ÆÑÅ͸µ(refactoring)
ÄÚµù¿¡¼ ¸®ÆÑÅ͸µÀ̶õ °á°úÀÇ
º¯°æ¾øÀÌ ±¸Á¶¸¦ ÀçÁ¶Á¤ÇÏ´Â °ÍÀ̶ó°í ÇÑ´Ù. ÁÖ·Î °¡µ¶¼ºÀ» ´Ã¸®°Å³ª À¯Áöº¸¼ö¼ºÀ» ÁÁ°Ô ÇÏ·Á°í ÇÑ´Ù. ¿À´ÃÀº ESC±×·ì ¸â¹öÀÎ ÇÑÁ¾ À⵿̱ »ó¹«´ÔÀÌ
±×µ¿¾È °øºÎÇÑ ±â´ÉµéÀ» ÀÌ¿ëÇØ¼ ö±Ù·® ±¸ÇÏ´Â ÇÁ·Î±×·¥À» ¸¸µé¾î¼ ´ÜÅ广¿¡ °øÀ¯ÇØÁ̴ּÙ.
ÀÌ ÇÁ·Î±×·¥ÀÇ ±¸Á¶¸¦ ¹Ù²Ù´Â
°úÁ¤À» ¼Ò°³ÇϰíÀÚ ÇÑ´Ù. ÄÚµå´Â ÷ºÎÆÄÀÏ·Î ¿Ã¸®µµ·Ï ÇϰڴÙ.
ÀÏ´Ü ÀÌ ÇÁ·Î±×·¥ÀÇ ±â´ÉÀº ÀÌ·¸´Ù.
ÀϹÝÀûÀ¸·Î ¿£Áö´Ï¾îµéÀÌ ¸¹ÀÌ ÇÏ´Â ¾÷¹« Áß Çϳª´Ù.
1. ö±Ù·®À» ±¸ÇÒ ´Ü¸éÀÇ ÄÜÅ©¸®Æ®,ö±Ù,Æø,
³ôÀÌ µîÀÇ input ³»¿ëÀÌ µé¾î ÀÖ´Â ÆÄÀÏÀ» Àд´Ù.
2. ÆÄÀϷκÎÅÍ ÀÐÀº Á¤º¸¸¦
ÀÌ¿ëÇØ¼ ö±Ù·®°ËÅ並 ÇÑ´Ù.
3. °è»êµÈ °á°ú¸¦ ÆÄÀÏ·Î Ãâ·ÂÇÑ´Ù.
ESC¸â¹ö°¡ Á¦°øÇÑ ÇÁ·Î±×·¥
sec_ver1.0.py :
ȸé input
sec_ver1.0.1.py
: ÆÄÀÏ input (¼ýÀÚ¸¸ ÀÔ·ÂÇÏ´Â ¹æ½Ä)
sec_ver02.py : ÆÄÀÏ
input formatº¯°æ(fck=40 ¹æ½Ä)
—-
sec_ver02.2.py
: ÇÊÀÚ°¡ 1Â÷ ¸®ÆÑÅ丵ÇÑ ÇÁ·Î±×·¥
1. Ãʱâ¹öÀü sec_ver1.0.py
¾Æ·¡´Â Ãʱâ¹öÀü ³»¿ë ÀϺδÙ. ÀÌ ÇÁ·Î±×·¥Àº input()ÇÔ¼ö¸¦ ÀÌ¿ëÇØ¼ ȸ鿡¼ ÀÔ·ÂÀ» ¹Þ´Â ¹æ½ÄÀÌ´Ù.
f=open("d:/python/section_check.txt", 'w')
#»ý¼ºÆÄÀÏ ÀúÀå µð·ºÅ丮
f.write('¢Â Á÷»ç°¢Çü º¸\n\n')
#¸Þ¸ðÀå Ãâ·Â
f.write(' ¢¹ °Ë Åä Á¶ °Ç\n\n')
#¸Þ¸ðÀå Ãâ·Â
fck=float(input("ÄÜÅ©¸®Æ® Àç·á°µµ(fck¡Â40MPa)):"))
#Àç·á°µµ ÀÔ·Â
fy=float(input("ö±ÙÀÇ Ç׺¹°µµ(fy):"))
#ö±ÙÇ׺¸°µµ ÀÔ·Â
¨ªc=float(input("ÄÜÅ©¸®Æ®ÀÇ Àç·áÀúÇ×°è¼ö(¨ªc=0.65):")) #ÄÜÅ©¸®Æ®
ÀúÇ×°è¼ö ÀÔ·Â
¨ªs=float(input("ö±ÙÀÇ Àç·áÀúÇ×°è¼ö(¨ªs=0.90):"))
f.write(f' Àç ·á
° µµ : fck = {fck:2.1f} MPa, fy = {fy:2.1f}
MPa\n Àç·áÀúÇ×°è¼ö : ¨ªc = {¨ªc:2.3f},
¨ªs = {¨ªs:2.3f}\n') #¸Þ¸ðÀå Ãâ·Â
|
°ËÅä :
1. ù¹øÂ° ÁÙ¿¡¼ Ãâ·ÂÇÒ ÆÄÀÏÀ»
¿ÀÇÂÇß´Ù. ±×¸®°í ¹®¼ÀÇ Á¦¸ñ µîÀ» f.write()ÇÔ¼ö·Î ÆÄÀÏ¿¡ Ãâ·ÂÇß´Ù. ±×¸®°í input()ÇÔ¼ö·Î Àç·á°µµ¸¦ ÀԷ¹޾ҴÙ. ÆÄÀÏ¿ÀÇ¡æÆÄÀÏÃâ·Â¡æÈ¸éÀÔ·Â
ÀÌ·± ¼ø¼·Î ù ¸îÁÙÀÌ ÁøÇàµÇ¾ú´Ù. Ãâ·Â°ú ÀÔ·ÂÀÌ ¼¯¿© ÀÖÀ¸¸é ÀбⰡ ¾î·Á¿öÁø´Ù. ±×·¡¼ º¸Åë ÀÔ·Â ¡æ °è»ê ¡æ Ãâ·Â ¼ø¼·Î ÇÁ·Î±×·¥À» ¸¸µé¸é
Àб⵵ ÁÁ°í °°Àº ±â´É³¢¸® ¸ð¿©ÀÖ¾î¼ Ã£±â¿Í ¼öÁ¤µµ ¿ëÀÌÇÏ´Ù.
2. Ãâ·ÂÆÄÀÏÀÇ µð·ºÅ丮¿Í ÆÄÀϸíÀÌ
°íÁ¤µÇ¾îÀÖ´Ù. d:\python\section_check.txt. Ãâ·ÂÆÄÀÏÀÇ À§Ä¡¸¦ ÀÔ·Â¹Þ´Â´Ù¸é »ç¿ëÇϱⰡ ÈξÀ ½¬¿öÁú °ÍÀÌ´Ù. À̺κп¡ ´ëÇØ¼´Â
³ªÁß¿¡ º°µµ·Î ¼³¸íÇϰڴÙ. À̹ø ¼öÁ¤¿¡¼´Â ±×³É µð·ºÅ͸®¸íÀ» »« ÆÄÀÏ À̸§¸¸ ÀÔ·ÂÇÏ´Â °ÍÀ¸·Î ¼öÁ¤Çß´Ù. ±×·¯¸é ÇöÀç ÆÄÀ̽㠽ºÅ©¸³Æ® ÆÄÀÏÀÌ ÀÖ´Â
µð·ºÅ丮¿¡ section_check.txtÆÄÀÏÀÌ »ý¼ºµÈ´Ù.
f=open("section_check.txt", 'w')
|
Ãâ·ÂÀº °¡´ÉÇÏ´Ù¸é Á¦ÀÏ ¸¶Áö¸·¿¡! ÀÔ·Â ¡æ °è»ê ¡æ Ãâ·Â
¼ø¼¸¦ ÁöŰÀÚ.
¼öÁ¤: write()¹®À» ¸ðµÎ µÚÂÊÀ¸·Î À̵¿Çؼ ¸ð¾Æ³õ¾Ò´Ù. ÆÄÀÏ
¿ÀÇÂÀº ù write()¹® ¹Ù·Î Àü¿¡ ½áÁØ´Ù. ¸¶Áö¸· write()¹®µÚ¿¡ close()¹®À» ½áÁØ´Ù. À̰ÍÀÌ ¼öÁ¤ ³»¿ëÀÇ ÀüºÎ´Ù.
f=open("d:/python/section_check.txt", 'w')
#dµå¶óÀ̺ê pythonÆú´õÀÇ section_check.txt¸¦ Ãâ·ÂÇÔ
f.write('¢Â Á÷»ç°¢Çü º¸\n\n')
#¸Þ¸ðÀå Ãâ·Â
f.write(' ¢¹ °Ë Åä Á¶ °Ç\n\n')
#¸Þ¸ðÀå Ãâ·Â
f.write(f' Àç ·á
° µµ : fck = {fck:2.1f} MPa, fy = {fy:2.1f}
MPa\n Àç·áÀúÇ×°è¼ö : ¨ªc = {¨ªc:2.3f},
¨ªs = {¨ªs:2.3f}\n') #¸Þ¸ðÀå Ãâ·Â
|
2. µÎ¹øÂ°¹öÀü sec_ver1.0.1.py
ÀÌ ¹öÀüÀÌ ÀÌÀü ¹öÀü°ú ´Ù¸¥Á¡Àº ÀÌÀü ¹öÀüÀº ÀÔ·ÂÀ» ȸ鿡¼ input()ÇÔ¼ö·Î ¹Þ´Ùº¸´Ï ½Ç¼ö·Î Àß ¸øÀÔ·ÂÇϸé
¼öÁ¤ÇÏ·Á¸é óÀ½ºÎÅÍ ´Ù½Ã ÀÔ·ÂÀ» ÁøÇàÇØ¾ß µÇ´Â ºÒÆíÇÔÀÌ ÀÖ¾ú´Ù. ±×·¡¼ º¸Åë µ¥ÀÌÅÍÆÄÀÏÀ» ÀÌ¿ëÇÑ´Ù. ±×·¡¼ ÀԷµ¥ÀÌÅ͸¦ ÅØ½ºÆ®ÆÄÀÏ·Î ¸¸µå´Â ¹æ½ÄÀ¸·Î
¹Ù²å´Ù.
ÄÚµåÀÇ ¾ÕºÎºÐ°ú inputÆÄÀÏÀ» º¸ÀÚ. input ÆÄÀÏÀº ùÁÙÀº ¼³¸í ÁÙÀÌ°í µÎ¹øÂ° ÁÙºÎÅÍ °¢°¢ fck,
fy ¡¦ À¸·Î ±¸¼ºµÇ¾î ÀÖ´Ù.
f=open("d:/python/sec_input.txt", 'r') #dµå¶óÀ̺ê pythonÆú´õÀÇ
sec_input.txtÀ» Àоîµå¸²
line=f.readlines()
f.close()
sentence=[]
#¸®½ºÆ®¸¦ ÃʱâÈ ÇÏ¿© sentence¿¡ ÁöÁ¤
for
iresult in
line[1:]:
#¸ðµçÁÙÀÇ ¸®½ºÆ® ¿ä¼Ò[0¹øÂ°,1¹øÂ°,2¹øÂ°....]Áß 1¹øÂ°ºÎÅÍ ¼¼¾î¼ °³Ã¼¼ö
¸¸Å ¹Ýº¹
isplt=iresult.split()
#ispltÀÇ ¿ä¼Ò¸¦ ¼øÂ÷ÀûÀ¸·Î ¹®ÀÚ¿¿¡¼ °ø¹éÀ» ±âÁØÀ¸·Î ¸®½ºÆ®¸¦ ºÐÇÒ
sentence.append(isplt)
#¸®½ºÆ® ¼ÓÀÇ ¸®½ºÆ® ÀÛ¼º[[],[],[]...](appendÇÔ¼ö
ÀÌ¿ë)
senlist=sentence
#senlist¿¡ ÇϳªÀÇ ¸®½ºÆ®·Î º¯¼öÁöÁ¤
fck=int((senlist[0][0]))
#fck¼³Á¤
fy=int((senlist[1][0]))
#fy¼³Á¤
¨ªc=float(senlist[2][0])
#¨ªc¼³Á¤
|
1ÁÙ:fck, 2ÁÙ:fy, 3ÁÙ:¨ªc, 4ÁÙ:¨ªs, 5ÁÙ:Mu, 6ÁÙ:Vu, 7ÁÙ:H(´Ü¸éµÎ²²), 8ÁÙ:B(´Ü¸éÆø), 9ÁÙ:Dc(ÇǺ¹µÎ²²), 10ÁÙ:AsDia(ö±ÙÁ÷°æ), 11ÁÙ:AsNum(ö±Ù°³¼ö), 12ÁÙ:¥ä(ÀçºÐ¹è ¸ð¸àÆ®À²),
30
400
0.65
0.9
620
450
1000
400
100
29
4
1.0
|
°ËÅä :
1. ÆÄÀÏÀ» openÇϰí readlines()ÇÔ¼ö¸¦ ÀÌ¿ëÇÏ¿©
ÆÄÀÏ Àüü¸¦ Àоú´Ù. ±×¸®°í close¸¦ Çß´Ù. ÀÌ·¸°Ô ÇѲ¨¹ø¿¡ Àд °ÍÀÌ Áß°£¿¡ ´Ù¸¥ Äڵ尡 ÀÖ´Â °Íº¸´Ù ¿¡·¯°¡ ¹ß»ýÇÒ È®·üÀÌ Àû´Ù. Ãßõ!
open¹®ÀÇ ÆÄÀϸíÀº µð·ºÅ丮¸íÀ» »èÁ¦ÇÏ°í ÆÄÀÏ¸í¸¸ ³²°Ü³ù´Ù.
ÆÄÀ̽㠽ºÅ©¸³Æ®°¡ ÀÖ´Â µð·ºÅ丮¿¡¼ sec_input.txt¸¦ ã°Ô µÉ °ÍÀÌ´Ù.
2. for¹®À» »ç¿ëÇØ¼ µÎ¹øÂ°ÁÙºÎÅÍ ¸¶Áö¸· ÁÙ±îÁö 󸮸¦
Çß´Ù. ½½¶óÀÌ½Ì [1:]À» ÀÌ¿ëÇß´Ù. ÀÎDzÆÄÀÏÀÇ Ã¹¹øÂ° ÁÙÀº ¼³¸íÀ̹ǷΠ°Ç³Ê¶Ú °Í.
3. for¹® ¾È¿¡¼ splitÇÔ¼ö¸¦ ½è´Ù. splitÇÔ¼ö´Â
°ø¹éÀ̳ª , µîÀ¸·Î ±¸ºÐµÈ ÅØ½ºÆ®¸¦ ³ª´ ¶§ ¾²´Â ÇÔ¼ö´Ù. ÀÌ·± °æ¿ì ÇÑÁÙ¿¡ µ¥ÀÌÅͰ¡ ÇϳªÀ̱⠶§¹®¿¡ splitÇÔ¼ö¸¦ ÇÊ¿ä ¾ø´Ù. »ç¿ëÀÚ°¡ ½Ç¼ö·Î
30ÀÇ ¾ÕÀ̳ª µÚ¿¡ °ø¹éÀ» ÀÔ·ÂÇß´Ù°í ÇÏ´õ¶óµµ int³ª floatÇÔ¼ö´Â ¿¡·¯ ¾øÀÌ ÀÛµ¿ÇÑ´Ù. splitÇÔ¼ö¸¦ ¾²Áö ¾ÊÀ¸¸é
senlist[0][0]¿¡¼ µÞºÎºÐÀº ÇÊ¿ä ¾ø´Ù. µÞºÎºÐ[0]Àº splitÇÑ °á°úÀÇ ¸Ç ¾ÕÀÇ °ÍÀ̶ó´Â ¶æÀε¥ splitÀ» ¾ÈÇßÀ¸´Ï Çʿ䰡 ¾ø´Ù.
ÀÌ·¸°Ô ¹Ù²ãµµ °á°ú´Â °°´Ù. append¹®¿¡ split°á°ú°¡ µé¾î°¡´Â isplt ´ë½Å iresult°¡ µé¾î°¬´Ù´Â °ÍÀ» ÁÖ¸ñÇÏÀÚ.
for iresult in line[1:]:
#¸ðµçÁÙÀÇ ¸®½ºÆ® ¿ä¼Ò[0¹øÂ°,1¹øÂ°,2¹øÂ°....]Áß 1¹øÂ°ºÎÅÍ ¼¼¾î¼ °³Ã¼¼ö
¸¸Å ¹Ýº¹
#isplt=iresult.split()
#ispltÀÇ ¿ä¼Ò¸¦ ¼øÂ÷ÀûÀ¸·Î ¹®ÀÚ¿¿¡¼ °ø¹éÀ» ±âÁØÀ¸·Î ¸®½ºÆ®¸¦ ºÐÇÒ
#sentence.append(isplt)
#¸®½ºÆ® ¼ÓÀÇ ¸®½ºÆ® ÀÛ¼º[[],[],[]...](appendÇÔ¼ö ÀÌ¿ë)
sentence.append(iresult)
senlist=sentence
#senlist¿¡ ÇϳªÀÇ ¸®½ºÆ®·Î º¯¼öÁöÁ¤
fck=int(senlist[0])
#fck¼³Á¤
fy=int(senlist[1])
#fy¼³Á¤
¨ªc=float(senlist[2])
#¨ªc¼³Á¤
|
3. ¼¼¹øÂ° ¹öÀü sec_ver02.py
¼¼¹øÂ° ¹öÀüÀº µÎ¹øÂ° ¹öÀü¿¡¼
input ÆÄÀÏÀÇ Æ÷¸ËÀ» º¯°æÇÑ °ÍÀÌ´Ù. Áï µÎ¹øÂ° ¹öÀü¿¡¼´Â ¼ýÀÚ¸¸ ³ª¿Çߴµ¥ ¼¼¹øÂ° ¹öÀü¿¡¼´Â fck=40°ú °°Àº ½ÄÀ¸·Î ¼ýÀÚ ¾Õ¿¡ Àǹ̸¦
¾Ë ¼ö ÀÖ´Â ÅØ½ºÆ®¸¦ Ãß°¡ÇÑ °ÍÀÌ´Ù.
inputÆÄÀÏÀ» º¸ÀÚ.
ÀÔ·ÂÀº µîÈ£(=)±âÁØ ÇÑÄÀÌ»ó ¶ç¿ì°í ¼ýÀÚÀÔ·Â(¼ýÀÚ¸¸ ÀÔ·Â) ex)
fck(Mpa)= 30(O.K), fck(MPa)= 30(O.K), fck(MPa)=30(N.G)
¡ØÀÔ·ÂÆ÷¸äÀº º¯°æÇÏÁö ¸¶½Ê½Ã¿ä.!!(¿À·ù¹ß»ý)
fck(MPa)= 30
fy(MPa)= 400
¨ªc= 0.65
...
|
sentence=[]
#¸®½ºÆ®¸¦ ÃʱâÈ ÇÏ¿© sentence¿¡ ÁöÁ¤
for
iresult in
line[2:]:
#¸ðµçÁÙÀÇ ¸®½ºÆ® ¿ä¼Ò[0¹øÂ°,1¹øÂ°,2¹øÂ°....]Áß 1¹øÂ°ºÎÅÍ ¼¼¾î¼ °³Ã¼¼ö
¸¸Å ¹Ýº¹ (Áï 0ÀÌ¸é °ø¹éÁÙÀÌ ¾ø°í, 1À̸é ù¹øÂ°ÁÙ±îÁö °ø¹éÀ» 2ÀÌ¸é µÎ¹øÂ°ÁÙ±îÁö °ø¹é ÀǹÌ)
isplt=iresult.split()
#ispltÀÇ ¿ä¼Ò¸¦ ¼øÂ÷ÀûÀ¸·Î ¹®ÀÚ¿¿¡¼ °ø¹éÀ» ±âÁØÀ¸·Î ¸®½ºÆ®¸¦ ºÐÇÒ
sentence.append(isplt)
#¸®½ºÆ® ¼ÓÀÇ ¸®½ºÆ® ÀÛ¼º[[],[],[]...](appendÇÔ¼ö ÀÌ¿ë)
senlist=sentence
#senlist¿¡ ÇϳªÀÇ ¸®½ºÆ®·Î º¯¼öÁöÁ¤
fck=int((senlist[0][1]))
#fck¼³Á¤
fy=int((senlist[1][1]))
#fy¼³Á¤
¨ªc=float(senlist[2][1])
#¨ªc¼³Á¤
|
°ËÅä :
1. µÎ¹øÂ° ¹öÀü¿¡¼´Â ÀÔ·Â Æ÷¸Ë¿¡ ¼ýÀÚ¸¸ ÀÖ¾ú±â ¶§¹®¿¡
splitÇÔ¼ö¸¦ ¾µ Çʿ䰡 ¾ø¾î¼ »èÁ¦Çß¾ú´Ù. ÇÏÁö¸¸ À̹ø ¹öÀüó·³ fck(MPa)= 30¿Í °°Àº Æ÷¸ËÀ» ¾´´Ù¸é splitÇÔ¼ö°¡ ÇÊ¿äÇÏ´Ù.
±×·±µ¥ ÀÔ·Â Æ÷¸ËÀÇ ¾ÕºÎºÐ(fck=)Àº Çʿ䰡 ¾ø±â ¶§¹®¿¡ splitÀÇ °á°ú¸¦ º°µµ·Î ÀúÀåÇÒ ÇÊ¿ä´Â ¾ø´Ù. ÀÌ·± °æ¿ì¿¡´Â
string.split()[1] ÀÌ·¸°Ô Çϸé split() °á°ú ¸®½ºÆ®ÀÇ µÎ¹øÂ° ¿ä¼ÒÀÎ ÀԷ°ª(½ÇÁ¦·Î´Â ¹®ÀÚ¿)À» ÃëÇÒ
¼ö ÀÖ´Ù. ÀÌ·¸°Ô ÇÏ¸é °¢ ÀԷ°ªÀ» º¯¼ö¿¡ ÇÒ´çÇÏ´Â ºÎºÐÀ» fck=int((senlist[0][1]))¿¡¼
fck=int(senlist[1])·Î º¯°æ °¡´ÉÇÏ´Ù.
for
iresult in line[1:]:
#¸ðµçÁÙÀÇ ¸®½ºÆ® ¿ä¼Ò[0¹øÂ°,1¹øÂ°,2¹øÂ°....]Áß 1¹øÂ°ºÎÅÍ ¼¼¾î¼ °³Ã¼¼ö ¸¸Å ¹Ýº¹
isplt=iresult.split()[1]
#ispltÀÇ ¿ä¼Ò¸¦ ¼øÂ÷ÀûÀ¸·Î ¹®ÀÚ¿¿¡¼ °ø¹éÀ» ±âÁØÀ¸·Î ¸®½ºÆ®¸¦ ºÐÇÒ
sentence.append(isplt)
#¸®½ºÆ® ¼ÓÀÇ ¸®½ºÆ® ÀÛ¼º[[],[],[]...](appendÇÔ¼ö ÀÌ¿ë)
sentence.append(iresult)
senlist=sentence
#senlist¿¡ ÇϳªÀÇ ¸®½ºÆ®·Î º¯¼öÁöÁ¤
fck=int(senlist[0])
#fck¼³Á¤
fy=int(senlist[1])
#fy¼³Á¤
¨ªc=float(senlist[2])
#¨ªc¼³Á¤
|
2. ù¹øÂ° ¹öÀü¿¡¼ write()¹®À» Çѱºµ¥·Î ¸ð¾Ò¾ú´Ù.
write()ÇÔ¼ö¸¦ ¿©·¯¹ø ¾µ ÇÊ¿ä ¾øÀÌ Ãâ·ÂÇÒ ³»¿ëÀ» ÇϳªÀÇ ¹®ÀÚ¿·Î ¸¸µé¸é °ü¸®ÇϱⰡ ½¬¿öÁø´Ù.
¿©·¯ÁÙ ¹®ÀÚ¿ ÁöÁ¤Çϱ⠡±¡±¡±
¡±¡±¡±
¹®ÀÚ¿À» Á¤ÀÇÇÏ´Â ¹æ¹ýÀº ¡°³ª ¡®·Î °¨½Î´Â °ÍÀÌ´Ù. ¡±¡±¡±¼¼°³¸¦ ½á¼ °¨½Î¸é ¿©·¯ÁÙ¿¡ °ÉÃÄ ÀÖ´Â ¹®ÀÚ¿À» ÁöÁ¤ÇÒ
¼ö ÀÖ´Ù.
outputstr=f"""
¢Â Á÷»ç°¢Çü º¸\n\n
¢¹ °Ë Åä Á¶ °Ç\n\n
Àç ·á ° µµ : fck = {fck:2.1f}
MPa, fy = {fy:2.1f} MPa\n Àç·áÀúÇ×°è¼ö :
¨ªc = {¨ªc:2.3f}, ¨ªs = {¨ªs:2.3f}\n
. . . <Áß°£»ý·«>
Vcd.min = (0.4 ¨ªc¡¤fctk + 0.15 fn) B¡¤D /
1000 = {Vcdmin:2.3f}kN\n"""
|
outputstrÀ̶ó´Â
º¯¼ö¿¡ Ãâ·ÂÇÒ ³»¿ëÀ» ¡±¡±¡± ·Î °¨½Î°í f-string Æ÷¸ËÆÃÀ» Àû¿ëÇÏ¿´´Ù. ±âÁ¸ÀÇ write()ÇÔ¼ö ¾È¿¡ ½è´ø ³»¿ë ±×´ë·Î´Ù. ´ÜÁö ¡±¡±¡±¸¦
»ç¿ëÇϸé write¸¦ ¿©·¯¹ø ¾µ ÇÊ¿ä ¾ø°í Ãâ·Â ¾ç½ÄÀ» ÇϳªÀÇ ¹®ÀÚ¿·Î °ü¸®ÇÒ ¼ö ÀÖ´Ù´Â ÀåÁ¡ÀÌ ÀÖ´Ù.
3.
ÇϳªÀÇ ¹®ÀÚ¿·Î Ãâ·Â¾ç½ÄÀ» ¸¸µå´Âµ¥ ÀÖ¾î¼ ÇØ°áÇØ¾ß ÇÒ ¹®Á¦°¡ ÀÖµû. if¹® ¾È¿¡ µé¾î ÀÖ´Â write¹® 󸮴Ù. ¼¼¹øÂ° ¹öÀü¿¡´Â ¾Æ·¡¿Í °°ÀÌ
if¾È¿¡ writeÀÌ µé¾î ÀÖ´Â ºÎºÐÀÌ ÀÖ´Ù. Àü´Üö±ÙÀÌ ÇÊ¿äÇÒ ¶§¿Í ÇÊ¿äÇÏÁö ¾ÊÀ» ¶§ °¢°¢ Ãâ·ÂµÇ´Â ³»¿ëÀÌ ´Þ¶ó¾ß ÇÑ´Ù.
if Vcd < Vu:
sh3="... ¡ÅÀü´Üö±Ù ÇÊ¿ä."
f.write(f' ¡Å Vcd =
Max(Vc, Vcd.min) = {Vcd:2.3f}kN {sh2:2s} = {Vu:2.3f}kN {sh3:2s}\n\n') #¸Þ¸ðÀå Ãâ·Â
f.write(f' »ç¿ë Àü´Üö±Ù·®
Av.use = H{AvDia:2d} x {AvLeg:2.3f}ea = {Avs:2.3f}§± (°£°Ý s = {AvSpace:2d}mm)\n') #Àü´Üö±Ù·® »êÁ¤ Ãâ·Â
f.write(f'
z = 0.9 D = {0.9*D:2.3f}mm\n') #´Ü¸é³»ºÎ ÆÈ±æÀÌ Ãâ·Â
. . . <Áß°£»ý·«>
else:
sh3="... ¡ÅÀü´Üö±Ù ºÒÇÊ¿ä."
f.write(f' ¡Å Vcd =
Max(Vc, Vcd.min) = {Vcd:2.3f}kN {sh2:2s} = {Vu:2.3f}kN {sh3:2s}\n') #¸Þ¸ðÀå Ãâ·Â
|
ÀÌ·±
°æ¿ì Ãâ·ÂÇØ¾ß ÇÒ ³»¿ëÀ» º°µµÀÇ ¹®ÀÚ¿·Î ¸¸µé¾î¼ ÃÖÁ¾ Ãâ·Â¹®ÀÚ¿¿¡ ºÙÀÌ¸é µÈ´Ù. shearchk¶ó´Â ¹®ÀÚ¿¿¡ Àü´Üö±ÙÀÌ ÇÊ¿äÇÒ ¶§¿Í ÇÊ¿ä ¾øÀ»
¶§ÀÇ Ãâ·Â ³»¿ëÀ» ³Ö¾ú´Ù.
if Vcd < Vu:
sh3="... ¡ÅÀü´Üö±Ù ÇÊ¿ä."
shearchk=f''' ¡Å Vcd =
Max(Vc, Vcd.min) = {Vcd:2.3f}kN {sh2:2s} = {Vu:2.3f}kN {sh3:2s}\n\n
»ç¿ë Àü´Üö±Ù·® Av.use = H{AvDia:2d} x {AvLeg:2.3f}ea = {Avs:2.3f}§± (°£°Ý s
= {AvSpace:2d}mm)\n
z = 0.9 D = {0.9*D:2.3f}mm\n''' #´Ü¸é³»ºÎ ÆÈ±æÀÌ Ãâ·Â
. . . <Áß°£»ý·«>
else:
sh3="... ¡ÅÀü´Üö±Ù ºÒÇÊ¿ä."
shearchk=f' ¡Å Vcd =
Max(Vc, Vcd.min) = {Vcd:2.3f}kN {sh2:2s} = {Vu:2.3f}kN {sh3:2s}\n' #¸Þ¸ðÀå Ãâ·Â
|
ÀÌÁ¦ outputstrÀÇ ¸¶Áö¸·¿¡
shearchk¸¦ ´õÇϸé(¿¬°á) µÈ´Ù. ±×¸®°í write¹®¿¡´Â outputstr¸¸ Ãâ·ÂÇÏ°í ÆÄÀÏÀ» closeÇÏ¸é µÈ´Ù.
outputstr=outputstr+shearchk
f.write(outputstr)
f.close()
|
4. 1Â÷ ¸®ÆÑÅ͸µÀ» ¸¶Ä¡¸ç
[ESC]±×·ì
´ÜÅ广¿¡ ÇÊÀÚ°¡ ¿Ã¸° ¡®ÇÊ¿äÇÑ ±â´É¡¯ ¸®½ºÆ®ÀÇ ¸Ç óÀ½¿¡ µîÀåÇÑ ±â´ÉÀÌ Ã¶±ÙÄÜÅ©¸®Æ® ´Ü¸é °ËÅäÇÏ´Â ±â´ÉÀ̾ú´Ù. ¸çÄ¥¸¸¿¡ µÎºÐÀÌ Äڵ带 ¿Ã·ÁÁ̴ּÙ.
ÅÂÁ¶ÀÇ ¼³Á¾¸í ºÎ»çÀå´Ô, ÇÑÁ¾ÀÇ À⵿̱ »ó¹«´Ô. ÇÊÀÚ°¡ ±×Áß¿¡ À⵿̱ºÎ»çÀå´ÔÀÇ Äڵ带 ¸®ºäÇÏ¸é¼ ¸®ÆÑÅä¸µÇØºÃ´Ù.
¼öÁ¤µÈ
³»¿ëÀº ¾Æ·¡¿Í °°´Ù.
1.
write¹®µéÀº ¸Ç µÚ·Î º¸³»°í ÇϳªÀÇ ¹®ÀÚ¿·Î Æ÷¸ÅÆÃ ó¸® (¡±¡±¡±) ÈÄ Çѹø¿¡ Ãâ·Â
2.
splitÇÑ °á°ú¸¦ º°µµ·Î ÀúÀåÇÏÁö ¾Ê°í split()ÇÔ¼ö µÚ¿¡ ¹Ù·Î [1]¸¦ ºÙ¿©¼ ó¸®
3.
if¹® ¾È¿¡ ÀÖ´Â write¹®Àº º¯¼ö¿¡ ´ã¾Æ¼ Ãâ·Â ¹®ÀÚ¿¿¡ ÀÌ¾î ºÙÀ̱â
±ÛÀÌ
³Ê¹« ±æ¾îÁ®¼ 2Â÷ ¸®ÆÑÅ丵Àº µû·Î ¿Ã¸®°Ú´Ù. 2Â÷ ¸®ÆÑÅ丵¿¡¼´Â ÆÄÀϼ±ÅÃÀ» ´ÙÀ̾ó·Î±× ¹Ú½º¸¦ ÅëÇØ¼ ÇÒ ¼ö ÀÖµµ·Ï ¼öÁ¤ÇÒ ¿¹Á¤ÀÌ´Ù.