´úÂëÖвÉÓÃÁËÈý²½ÊµÏÖËãÊõ±í´ïʽµÄ½âÎö:
1. ½«ËãÊõ±í´ïʽ(×Ö·û´®)ת»»³ÉÒ»¸öÁбíparseElement·½·¨
2. ½«Áбí±íʾµÄËãÊõ±í´ïʽת»»³Éºó׺±í´ïʽchangeToSuffix
3. ¼ÆËãºó׺±í´ïʽµÄ½á¹û
ÕâÀïÎÒÊÇΪÁË·½±ã, ¾ÍдÁ˸öparseElement, ²»ÏëÄÇ·½·¨Ð´µ½ºóÃæÈ´°Ñ×Ô¼ºÈÆ×¡ÁË, ¿ÉÒÔÏëÏóÒ»¸ö´ø×ÔÔö, λ, Âß¼, ËãÊõµÄ±í´ïʽµÄÊýÖµÌáÈ¡ÊǶàôµÄ¸´ÔÓ...
parseElement×Ô¼º¸Ð¾õÊÇÒ»¸ö±È½Ïʧ°ÜµÄ·½·¨, ËùÒÔ´ÓÒ»¸öÆÕ±éµÄ½Ç¶ÈÀ´·ÖÎöÒÔÏÂËãÊõ±í´ïʽµÄ½âÎö:
ÒÔ(A + B) * C / D ** E + F * GΪÀý
µÚÒ»²¿·Ö: ½«ÖÐ׺±í´ïʽ(ÉÏÃæ¾ÍÊÇ, ¾ßÌåÈ¥²éÓйØÇ°×º, ÖÐ׺, ºó׺±í´ïʽ)
ÕâÒ»²½ÐèÒªÒ»¸öÕ»ÓÃÀ´±£´æÔËËã·û, Ò»¸ö×Ö·û´®ÓÃÀ´±£´æÊä³öµÄºó׺±í´ïʽ
·ûºÅÕ»: signStack
ºó׺±í´ïʽ: result
¹ý³Ì: ¶ÁÈ¡±í´ïʽÖÐÿ¸öÔªËØ(Êý×Ö»òÔËËã·û, ÎÒµÄparseElementÒâÔÚ½â¾öÕâ¸öÎÊÌâ, È´×öµÄ²»³É¹¦)
ÔÔò:
1. ²Ù×÷ÊýÖ±½ÓÊä³öµ½result
2. (Ö±½Ó½øÕ»
3. )³öÕ»Ö±µ½Óöµ½Ò»¸ö"("(×¢Òâ: ÕâÀï"("±ØÐë³öÕ»), Öмä³öÕ»µÄÔªËØ°´³öջ˳ÐòÊä³öµ½result
4. ÆäËûÔËËã·û, ¼ì²éÕ»¶¥ÔªËØ, Èç¹ûÕ»¶¥±Èµ±Ç°ÔËËã·ûÓÅÏȼ¶¸ß»òÏàͬ(ÓÅÏȼ¶Ïàͬ, °´Ë³ÐòÖ´ÐÐ)ÔòÏȽ«Õ»¶¥³öÕ», ÔÙÈëÕ». Èç¹ûµ±Ç°ÔªËØÓÅÏȼ¶¸ß, ÔòÖ±½ÓÈëÕ».
² ......
1. ʼþÇý¶¯
Ò»¸öʼþ¼°Æä»Øµ÷µÄÀý×ÓÊÇÊó±êÒÆ¶¯¡£ÎÒÃǼÙÉèÊó±êÖ¸ÕëÍ£ÔÚÄúGUI ³ÌÐòµÄij´¦¡£Èç¹ûÊó±ê±»ÒƵ½Á˳ÌÐòµÄ±ð´¦£¬Ò»¶¨ÊÇÓÐʲô¶«Î÷ÒýÆðÁËÆÁÄ»ÉÏÖ¸ÕëµÄÒÆ¶¯£¬´Ó¶ø±íÏÖÕâÖÖλÖõÄ×ªÒÆ¡£ÏµÍ³±ØÐë´¦ÀíÕâЩÊó±êÒÆ¶¯Ê¼þ²ÅÄÜÕ¹ÏÖ£¨²¢ÊµÏÖ£©Êó±êÔÚ´°¿ÚÉϵÄÒÆ¶¯¡£Ò»µ©ÄúÊÍ·ÅÁËÊó±ê£¬¾Í²»ÔÙ»áÓÐʼþÐèÒª´¦Àí£¬ÏàÓ¦µØ£¬ÆÁÄ»ÉϵÄÒ»ÇÐÓÖ¸´¹éƽ¾²¡£È»ºóAPIÓÖÔÚÕâ¸öÊó±êʼþÉÏ·â×°Ò»²ã¡£
Ò»µ©½øÈëÖ÷Ñ»·£¬GUI ±ã´Ó´ËÕÆÎÕ¿ØÖÆÈ¨¡£ËùÓÐÆäËû¶¯×÷¶¼À´×Իص÷º¯Êý£¬°üÀ¨³ÌÐòÍ˳ö¡£
2. ĬÈÏÖµµÄÖÇ»Û
GUI ¿ª·¢´ÓPython µÄȱʡ²ÎÊý»úÖÆ»ñÒæ·Ëdz£¬ÒòΪTkinter ×é¼þÓдóÁ¿µÄĬÈ϶¯×÷¡£³ý·ÇÄúÊìÖª×Ô¼ºÊ¹ÓõÄÿһ¸ö×é¼þµÄÿһ¸ö¿ÉÓÃÑ¡Ï·ñÔò×îºÃÖ»ÉèÖÃÄú¹ØÐĵIJÎÊý¶ø°ÑÆäËûµÄ½»ÓÉϵͳ´¦Àí¡£ÕâЩȱʡֵÊǾ«ÐÄÑ¡³öµÄ¡£Èç¹ûÄúûÓÐÌṩÕâЩֵҲ²»±Øµ£ÐijÌÐò»áÔÚÆÁÄ»ÉϱíÏÖ¹ÖÒì¡£×÷ΪһÌõ»ù±¾¹æÔò£¬³ÌÐò¶¼ÓÉһϵÁоÓÅ»¯µÄȱʡֵ´´½¨£¬²¢ÇÒÖ»Óе±ÄúÃ÷È·ÖªµÀÈçºÎÅäÖÃÄúµÄ×é¼þʱ£¬²ÅÓбØÒªÓÃ×Ô¼ºµÄÖµÌæ»»ÕâЩȱʡֵ¡£ ......
×òÌìÊÔÁËÏÂÓÃHTMLParserÀàÀ´½âÎöÍøÒ³£¬¿É·¢ÏÖ½á¹û²¢²»ÀíÏë¡£²»¹ÜÔõô˵£¬ÏÈдϹý³Ì£¬Ï£ÍûºóÀ´ÈËÄÜÔÚ´Ë»ù´¡ÉϽâ¾öÎÒËùÓöµ½µÄÎÊÌâ¡£
дÁË2Ì×½â¾ö·½°¸£¬µ±È»Õâ2Ì×Ö»ÄܶÔÌØ¶¨ÍøÕ¾ÓÐЧ¡£ÎÒÕâÀïÖ÷Ҫ˵Ã÷϶ÔBBCÖ÷Ò³www.bbc.co.ukºÍ¶ÔÍøÒ×www.163.comµÄ½âÎö¡£
¶ÔÓÚBBC£º
ÕâÌ×Òª¼òµ¥µÃ¶à£¬¿ÉÄÜÊǸÃÍøÒ³µÄ±àÂë±È½Ï±ê×¼°É
import html.parser
import urllib.request
class parseHtml(html.parser.HTMLParser):
def handle_starttag(self, tag, attrs):
print("Encountered a {} start tag".format(tag))
def handle_endtag(self, tag):
print("Encountered a {} end tag".format(tag))
def handle_charref(self,name):
print("charref")
def handle_entityref(self,name):
print("endtiyref")
def handle_data(self,data):
prin ......
ÔõôÕÒ²»µ½µÚÈýÕµÄѧϰ±Ê¼ÇÁË£¿¶ªÁË£¿
PythonµÄº¯ÊýûÓÐʲôµÄ£¬¿ÉÒÔ˵£¬¿´ÁË¡¶¼òÃ÷Python½Ì³Ì¡·ºó£¬¾Í»áдÁË¡£
ÕâÒ»ÕÂÌṩµÄÄÚÈÝÒ²±È¡¶¼òÃ÷Python½Ì³Ì¡·Òª¶àһЩ¡£±È½Ï¸´ÔÓµÄÊÇ×÷ÓÃÓò¹æÔò£¬²»ÖªµÀÊÇÊéû½²Çå³þ»¹ÊÇ·ÒëµÃ²»ºÃ£¬±È½ÏÄѶ®¡£Ç®Äܵġ¶C++³ÌÐò½Ì³Ì¡·¹ØÓÚº¯ÊýµÄ×÷ÓÃÓò¹æÔò½²µÃÒªÇå³þЩ£¬ÓÐC++µÄ֪ʶÔÚÀïÃæ£¬Àí½âPythonµÄº¯Êý×÷ÓÃÓò¹æÔò£¬ºÃ¶®ºÜ¶à¡£ËƺõÁ½ÕßҲûÓÐÊ²Ã´Çø±ð¡£
º¯Êý²ÎÊý·½ÃæÓÐЩ²»Ò»Ñù£¬C++µÄÖµ´«µÝ¡¢Ö¸Õë´«µÝ¡¢ÒýÓô«µÝ·ÖµÃºÜÇå³þ¡£¶øPythonµÄ²ÎÊý´«µÝÓÐЩ²»Äܸıä²ÎÊýµÄÖµ£¬ÓÐЩÊÇ¿ÉÒԵġ£ÐèҪСÐĵĶԸ¶¡£»¹Óйؼü×ֵIJÎÊý¡¢¿É±ä²ÎÊý£¬¶¼ÊÇC++ûÓеÄÄÚÈÝ¡£PythonµÄº¯Êý¿ÉÒÔ²»ÓÃreturn£¬µ«ÊǺóÃæµÄÉè¼Æ¸ÅÄÊǽ¨ÒéÒªÓÃreturn·µ»Ø¡£
lambda¡¢map¡¢applyÕâЩ¹¤¾ßºÜ·½±ã£¬Óнű¾µÄÓ°×ÓÔÚÀïÃæ¡£
×îÈÃÎÒ¾ªÆæµÄÊÇ“º¯ÊýÊǶÔÏó: ·ÇÖ±½Óµ÷ÓÔÕâһС½Ú¡£PythonÖк¯ÊýµÄÁé»îÊÇC++Ëù²»¿É±ÈµÄ¡£PythonµÄº¯Êý¾ÍÏñһСÍÅÕ³ÍÁÒ»Ñù£¬¿ÉÒÔÈà¹ýÀ´´ê¹ýÈ¥µÄʹÓá£
“º¯Êý³£¼ûµÄÎÊÌâ”ȷʵÈÃÎÒÕâ¸öÐÂÊÖÃÔºýÁË£¬ÔÝʱÏȲ»ÌáËüÃǰɡ£¶øÇÒÕâÒ»½ÚÀïÃæµÄÀý×ÓËÆºõÓÐÎÊÌ⣬ÓÐһЩÊéÉÏ˵²»ÄÜÔËÐУ¬µ«ÔÚÎÒµÄPythonÖÐÈ´ÄÜÔËÐУ»ÁíÓÐһЩ˵ÄÜÔËÐУ¬µ«Î ......
¹¤ÓûÉÆÆäʱØÏÈÀûÆäÆ÷£¡
¿ª·¢PythonÓÃʲô¹¤¾ßºÃÄØ£¿Æäʵ¸ÕѧPythonµÄ»°£¬Ê¹ÓÃIDLE¾Í¹»ÁË£¬ËäÈ»µ÷ÊÔ²»ÊÇÌØ±ð·½±ã£¬µ«ÊǶÔÓÚ³õѧÒѾ¹»ÁË£¬¿ÉÒÔʹÓÃPrint½øÐмòµ¥µÄµ÷ÊÔ£¬²»½¨ÒéʹÓüÇʱ¾½øÐпª·¢£¬²»ÖªµÀµÄÈÏΪÄãºÜÅ££¬ÖªµÀµÄ……ÕâÊÇ×Ô¼º¸ø×Ô¼ºÕÒ×ïÊÜ£¬ÓÃEditplusÃ²ËÆÒ²ÐУ¬ÓÐÓï·¨¸ßÁÁ¹¦ÄÜ£¬Ò²Ö§³Öµ÷ÓÃÍⲿshellÀ´Ö´ÐгÌÐò£¬²¶»ñ³ÌÐòÊä³ö¡£
¸üÇ¿´óµÄIDEÓ¦¸ÃÓÐ×Ô¶¯Ìáʾ£¬Í걸µÄµ÷ÊÔºÍÓï·¨¸ßÁÁ¹¦ÄÜ£¬µ±È»Ëõ½øÒ²Ó¦¸Ã¸üºÃµÄÖ§³Ö£¬ÓÈÆä¶ÔÓÚPythonÕâÖÖÇ¿ÖÆËõ½øµÄÓïÑÔ£¬×Ô¶¯Ìáʾ¹¦ÄÜÊÇÖ¸£¬ÄãÊäÈëÒ»¸öº¯ÊýµÄ×Ô¶¯Ìáʾ²ÎÊý£¬»òÕßÊäÈëÒ»¸ö¶ÔÏóµÄʱºò×Ô¶¯ÌáʾËüµÄ³ÉÔ±º¯ÊýºÍ³ÉÔ±±äÁ¿£¬ÕâЩ¶¼ÄÜ´ó´óÌá¸ß±àÂëЧÂÊ£¬µ÷ÊÔ¹¦ÄÜÒ²¾ÍÊÇdebugÀ²£¬×îºÃÓе¥²½µ÷ÊÔ¹¦ÄÜ£¬µ¥²½µ÷ÊÔ¶àÃ´ÖØÒªÎҾͲ»ËµÁË£¬³ÌÐòÔ±¶¼Ã÷°×¡£µ±¹¤³ÌºÜ´óµÄʱºò£¬Ôõô¹ÜÀí¹¤³ÌÒ²ÊÇÎÊÌ⣬PythonÒ²Ò»Ñù£¬µ±¹¤³ÌºÜ´óµÄʱºò£¬ÎļþÒ²ºÜ¶à£¬´ËʱÓÃIDLE²»¹ÜÊǹÜÀí¹¤³Ì»¹Êǵ÷ÊÔÏÔÈ»ÊDz»ÄÜʤÈÎÁË¡£
˵µ½eclipse£¬´ó²¿·Ö“Íæ¼Ò”»á˵£¬Õâ²»ÊÇ¿ª·¢javaµÄô£¿Êǵģ¬eclipseÔÚÉè¼ÆÖ®³õÊÇΪ¿ª·¢java´òÔìµÄ£¬µ«ÊÇÓÉÓÚÆäÕû¸ö¼Ü¹¹·Ç³£ºÏ ......
×òÌìÊÔÁËÏÂÓÃHTMLParserÀàÀ´½âÎöÍøÒ³£¬¿É·¢ÏÖ½á¹û²¢²»ÀíÏë¡£²»¹ÜÔõô˵£¬ÏÈдϹý³Ì£¬Ï£ÍûºóÀ´ÈËÄÜÔÚ´Ë»ù´¡ÉϽâ¾öÎÒËùÓöµ½µÄÎÊÌâ¡£
дÁË2Ì×½â¾ö·½°¸£¬µ±È»Õâ2Ì×Ö»ÄܶÔÌØ¶¨ÍøÕ¾ÓÐЧ¡£ÎÒÕâÀïÖ÷Ҫ˵Ã÷϶ÔBBCÖ÷Ò³www.bbc.co.ukºÍ¶ÔÍøÒ×www.163.comµÄ½âÎö¡£
¶ÔÓÚBBC£º
ÕâÌ×Òª¼òµ¥µÃ¶à£¬¿ÉÄÜÊǸÃÍøÒ³µÄ±àÂë±È½Ï±ê×¼°É
import html.parser
import urllib.request
class parseHtml(html.parser.HTMLParser):
def handle_starttag(self, tag, attrs):
print("Encountered a {} start tag".format(tag))
def handle_endtag(self, tag):
print("Encountered a {} end tag".format(tag))
def handle_charref(self,name):
print("charref")
def handle_entityref(self,name):
print("endtiyref")
def handle_data(self,data):
prin ......