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
当我将字符串输入提供为"0"时;电子游戏名称";
预期输出为
- videogamena.me
- videogame.am/e
- 视频游戏.na/me
- videoga.me/name
- videog.am/ename
- 视频.ga/用户名
- vi.de/ogamame
- 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
在字符上丢失。可以查看下面的代码以获得答案。顺便说一句,请使用snake_case
(https://en.wikipedia.org/wiki/Snake_case)在编写python代码时。感谢
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