Can';t在Python中将字符串添加到字符串类型变量

Can';t在Python中将字符串添加到字符串类型变量,python,string,variables,add,Python,String,Variables,Add,我想用python制作一个非常简单的网络扫描仪,我写了以下内容: import subprocess ip_range = input("Enter ip range:") start_ip = input("Enter start ip:") end_ip = input("Enter end ip:") result = "Result:" for ping in range(int(start_ip), int(end_ip)): ip = ip_range + str(ping)

我想用python制作一个非常简单的网络扫描仪,我写了以下内容:

import subprocess
ip_range = input("Enter ip range:")
start_ip = input("Enter start ip:")
end_ip = input("Enter end ip:")
result = "Result:"
for ping in range(int(start_ip), int(end_ip)):
    ip = ip_range + str(ping)
    connect = subprocess.call(["ping", "-c1",ip])
    if connect == 0:
        result += "---"
        result += "Ping to ",ip,"was OK"
        result += "---"
    else:
        result + "Couldn't ping to " + str(ip)
        result + "---"
        pass
print(result)
除了一件事外,所有这些都正常工作。 在这部分

result + "Couldn't ping to " + str(ip)
result + "---"

结果与此代码无关,我的意思是它只是写入结果。

result+“无法ping到”+str(ip)
是一个表达式,而不是一个语句。您不会将该值指定给
结果
。尝试将
+
更改为
+=
。这将在
result
中存储值
result+“无法ping到”+str(ip)

仔细查看
if
语句的两个分支之间的差异。您使用了两个不同的运算符。结果+=”无法ping到“+str(ip)结果+=”--“我尝试+=”而不是“+”,但Answare将替换为最后一个值,并且不会相加。@HoseinAzimi我不理解您的评论。你能更明确地说明你正在使用的代码和你期望的输出吗?我想让用户输入一个ip范围,然后用脚本去ping ip,知道什么ip在上升,什么ip在下降,然后将结果添加到字符串变量,例如:ip_范围:192.168.1.100-192.168.1.110 ping所有这些都正常结果:-ping到192.168.1.100正常------ping到192.168.1.101正常------等等。