ID:
PW:

     0 ºÐ
     10 ºÐ

¿£Áö´Ï¾î µ¹Á¾
  dolljong
ÇÁ·Î±×·¡¹Ö Tips
ÇÁ·Î±×·¡¹Ö¿¡ °üÇÑ TipÀ» °øÀ¯ÇÏ´Â °÷ÀÔ´Ï´Ù.


[python] (¿£Áö´Ï¾î¸¦ À§ÇÑ) ÆÄÀ̽㠽ÃÀÛÇϱâ[9] ¸®ÆÑÅ͸µ
À̼®Á¾  2022-09-08 03:56:11, Á¶È¸ : 281, Ãßõ : 60
- Download #1 : engpython09.png (46.8 KB), Download : 14

- Download #2 : sec.zip (27.4 KB), Download : 19

ö±Ù·® ±¸Çϱâ ÇÁ·Î±×·¥ 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Â÷ ¸®ÆÑÅ丵¿¡¼­´Â ÆÄÀϼ±ÅÃÀ» ´ÙÀ̾ó·Î±× ¹Ú½º¸¦ ÅëÇØ¼­ ÇÒ ¼ö ÀÖµµ·Ï ¼öÁ¤ÇÒ ¿¹Á¤ÀÌ´Ù.

 

 



  ÃßõÇÏ±â   ¸ñ·Ïº¸±â

Copyright 1999-2023 Zeroboard / skin by zero
±¸Á¶¼³°èÀÇ ¹Ì·¡¸¦ ÁغñÇÏ´Â ¸ðÀÓ [±¸Á¶¼³°è¹Ì·¡Æ÷·³]