Python 域查找器
Python Domain Finder
import re
# country domain listed
myInput = "ac ad ae af ag ai al am an ao aq ar as at au aw ax az ba bb bd be bf bg bh bi bj bl bm bn bo br bq bs bt bv bw by bz ca cc cd cf cg ch ci ck cl cm cn co cr cs cu cv cw cx cy cz dd de dj dk dm do dz ec ee eg eh er es et eu fi fj fk fm fo fr ga gb gd ge gf gg gh gi gl gm gn gp gq gr gs gt gu gw gy hk hm hn hr ht hu id ie il im in io iq ir is it je jm jo jp ke kg kh ki km kn kp kr kw ky kz la lb lc li lk lr ls lt lu lv ly ma mc md me mf mg mh mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nc ne nf ng ni nl no np nr nu nz om pa pe pf pg ph pk pl pm pn pr ps pt pw py qa re ro rs ru rw sa sb sc sd se sg sh si sj sk sl sm sn so sr ss st su sv sx sy sz tc td tf tg th tj tk tl tm tn to tp tr tt tv tw tz ua ug uk um us uy uz va vc ve vg vi vn vu wf ws ye yt yu za zm zr zw"
#List create by spliting myInput string with space
myList = myInput.split(" ")
#Taking user input for phrase
userInputString = input("{}Enter a phrase, and we'll try to find some URLs that match: " .format('\n')).lower()
#Using regex substitution to remove whitespace and special characters
updatedUserInput = re.sub('[^A-Za-z0-9]+','',userInputString)
# print(updatedUserInput)
userInputLength = len(updatedUserInput)
while( userInputLength > 2 ):
currentDomain = updatedUserInput[userInputLength-2:userInputLength]
if(userInputLength == len(updatedUserInput)):
leftOverPath = ''
else:
leftOverPath = updatedUserInput[userInputLength+1:]
if currentDomain in myList:
print(updatedUserInput[:userInputLength-2]+"."+currentDomain+"/"+leftOverPath)
userInputLength -= 1
else:
userInputLength -= 1
当我提供字符串输入作为“视频游戏名称”时
预期输出为
- videogamena.me
- 电子游戏。am/e
- 视频游戏。na/me
- videoga.me/name
- videog.am/ename
- 视频。ga/mename
- vi.de/ogamename
- v.id/eogamename
实际输出为
videogamena.me/
videogamen.am/
videogame.na/e
videoga.me/ame
videog.am/name
video.ga/ename
vi.de/gamename
v.id/ogamename
谁能指出我哪里出错了?
看起来更正了一段代码:)
快速查看一下,您的 leftOverPath
缺少字符。可以检查代码的波纹管以获得答案。顺便说一句,编码 python 时请使用 snake_case
(https://en.wikipedia.org/wiki/Snake_case)。谢谢
while (userInputLength > 2):
currentDomain = updatedUserInput[userInputLength - 2:userInputLength]
leftOverPath = updatedUserInput[userInputLength:]
leftOverPath = "/" + leftOverPath if leftOverPath else leftOverPath
if currentDomain in myList:
print(updatedUserInput[:userInputLength - 2] + "." + currentDomain + leftOverPath)
userInputLength -= 1
import re
# country domain listed
myInput = "ac ad ae af ag ai al am an ao aq ar as at au aw ax az ba bb bd be bf bg bh bi bj bl bm bn bo br bq bs bt bv bw by bz ca cc cd cf cg ch ci ck cl cm cn co cr cs cu cv cw cx cy cz dd de dj dk dm do dz ec ee eg eh er es et eu fi fj fk fm fo fr ga gb gd ge gf gg gh gi gl gm gn gp gq gr gs gt gu gw gy hk hm hn hr ht hu id ie il im in io iq ir is it je jm jo jp ke kg kh ki km kn kp kr kw ky kz la lb lc li lk lr ls lt lu lv ly ma mc md me mf mg mh mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz na nc ne nf ng ni nl no np nr nu nz om pa pe pf pg ph pk pl pm pn pr ps pt pw py qa re ro rs ru rw sa sb sc sd se sg sh si sj sk sl sm sn so sr ss st su sv sx sy sz tc td tf tg th tj tk tl tm tn to tp tr tt tv tw tz ua ug uk um us uy uz va vc ve vg vi vn vu wf ws ye yt yu za zm zr zw"
#List create by spliting myInput string with space
myList = myInput.split(" ")
#Taking user input for phrase
userInputString = input("{}Enter a phrase, and we'll try to find some URLs that match: " .format('\n')).lower()
#Using regex substitution to remove whitespace and special characters
updatedUserInput = re.sub('[^A-Za-z0-9]+','',userInputString)
# print(updatedUserInput)
userInputLength = len(updatedUserInput)
while( userInputLength > 2 ):
currentDomain = updatedUserInput[userInputLength-2:userInputLength]
if(userInputLength == len(updatedUserInput)):
leftOverPath = ''
else:
leftOverPath = updatedUserInput[userInputLength+1:]
if currentDomain in myList:
print(updatedUserInput[:userInputLength-2]+"."+currentDomain+"/"+leftOverPath)
userInputLength -= 1
else:
userInputLength -= 1
当我提供字符串输入作为“视频游戏名称”时
预期输出为
- videogamena.me
- 电子游戏。am/e
- 视频游戏。na/me
- videoga.me/name
- videog.am/ename
- 视频。ga/mename
- vi.de/ogamename
- v.id/eogamename
实际输出为
videogamena.me/
videogamen.am/
videogame.na/e
videoga.me/ame
videog.am/name
video.ga/ename
vi.de/gamename
v.id/ogamename
谁能指出我哪里出错了?
看起来更正了一段代码:)
快速查看一下,您的 leftOverPath
缺少字符。可以检查代码的波纹管以获得答案。顺便说一句,编码 python 时请使用 snake_case
(https://en.wikipedia.org/wiki/Snake_case)。谢谢
while (userInputLength > 2):
currentDomain = updatedUserInput[userInputLength - 2:userInputLength]
leftOverPath = updatedUserInput[userInputLength:]
leftOverPath = "/" + leftOverPath if leftOverPath else leftOverPath
if currentDomain in myList:
print(updatedUserInput[:userInputLength - 2] + "." + currentDomain + leftOverPath)
userInputLength -= 1