If,else语句输出

2024-04-26 08:12:57 发布

您现在位置:Python中文网/ 问答频道 /正文

for i in range(len(npa)):
    filename = '/lca_rcdist.php?npa1=503&nxx1=745&npa2=503&nxx2=' + npa[i]
    reply = urllib.request.urlopen(servername + filename)

    if reply.status != 200:
        print('Error sending request', reply.status, reply.reason)
    else:
        data = reply.readlines()
        reply.close()
        for line in data[:showlines]:
            cLine = line.decode('utf-8')
            if '"ofrom">N<' in cLine:
                print('NXX ,' + npa[i]) 

下面的输出是NXX,269NXX,298NXX,300NXX等等,有没有办法添加if和else语句,使输出在第一个条目前面不包含逗号和NXX?示例:269NXX, 298NXX?我对这一点还不熟悉,仍然在像这样的脚本上使用if和else语句。任何关于如何使用if,else statemnet更改输出的ifo都将被评估。在


Tags: infordataifrequeststatusline语句
3条回答

我不认识Python,但你可以试试这个

在循环之前声明一个变量,并将值设置为0,然后如果变量的值是0,则首先if condition print without NXX,然后将变量的值更改为1,并将else代码与NXX一起放入。希望这有帮助。在

flagfirst=0
for line in data[:showlines]:
    cLine = line.decode('utf-8')
    if '"ofrom">N<' in cLine:
        if flagfirst==0:
            print(npa[i]) 
            flagfirst=1
        else:
            print('NXX ,' + npa[i])

创建一个列表,然后使用str.join()

result = [] # NEW
for i in range(len(npa)):
    ... # blah, blah, same as your example, until
            if '"ofrom">N<' in cLine:
                result.append(npa[i])  # CHANGED
print (','.join(result))  #NEW

我知道这比你问的有点复杂,但这就是我要做的(我并不是说这是正确的方法——我不确定)。在

我会把整个“最后一个”循环改为:

for line in data[:showlines]:
    cLine = line.decode('utf-8')
    if '"ofrom">N<' in cLine:
        print('NXX ,' + npa[i]) 

为此:

^{pr2}$

相关问题 更多 >