gpt4 book ai didi

python - 如果点在先,如何跳过字符串中的点?

转载 作者:行者123 更新时间:2023-12-01 00:38:48 25 4
gpt4 key购买 nike

好的,我从 Udemy 那里得到了这个问题:

创建一个程序,获取在键盘上输入的 IP 地址并打印出它包含的段数以及每个段的长度。

这段代码工作得很好,唯一的问题是当我输入以“.”开头的 IP 地址时。 (是的,这是一个无效的 IP 地址),它将第一个点视为包含 0 个字符的段

这是程序:

IP = input("Insert your IP number: ")

segment = 1
segLength = 0
character = ""

for character in IP:
if character == '.':
print("segment {} contains {} characters".format(segment, segLength))
segment += 1
segLength = 0
else:
segLength += 1 if character != '.':
if character != ".":
print("segment {} contains {} characters".format(segment, segLength))

结果1(例如,如果我输入192.168.0.1):

segment 1 contains 3 characters
segment 2 contains 3 characters
segment 3 contains 1 characters
segment 4 contains 1 characters

结果2(如果IP = .192.168.0.1)

segment 1 contains 0 characters  ( <-------- how do I remove this?)
segment 2 contains 3 characters
segment 3 contains 3 characters
segment 4 contains 1 characters
segment 5 contains 1 characters

现在,如果 IP[0] == ".",如何让程序跳过一次?

最佳答案

第一次读取 IP 地址时,使用 strip() 删除 .

IP = input("Insert your IP number").strip('.')

这将删除所有前导和尾随 :

192.168.0.1   => 192.168.0.1
.192.168.0.1 => 192.168.0.1
192.168.0.1. => 192.168.0.1
..192.168.0.1 => 192.168.0.1
.192.168.0.1. => 192.168.0.1

关于python - 如果点在先,如何跳过字符串中的点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57528096/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com