繁体   English   中英

如何在for循环中打印一个字符串但只打印一次?

[英]How to print a string within a for loop but only once?

我是 Python 的新手,想实现一个简单的 for 循环:

phone_number = input("Please print phone number: ")
for i in phone_number:
    if i=="-":
        continue
print(i, end="")

如您所见,程序的重点是打印输入的电话号码(111-222-3333),不带“-”,因此 output 为:1112223333。

但我希望 output 是“您的电话号码是:1112223333”。 我不知道如何实现读取的部分

print("Your phone number is: ")

我试图将此语句放在 for 循环中,但由于end=""放入

print (i, end="")

我收到的回复内容如下

Your phone number is:
Your phone number is:1
Your phone number is:1
Your phone number is:1,...

我只希望语句打印一次。 我应该怎么办???

我们可以使用str.replace(...)删除'-' ,而不是遍历字符串的字符并分别打印每个字符:

phone = '111-222-3333'
print(f"Your phone number is: {phone.replace('-','')}")

使用您的 for 循环方法,您可以执行以下操作来实现您的目标:

phone_number = input("Please print phone number: ")

print("Your phone number is: ", end="")
for i in phone_number:
    if i == "-":
        continue
    print(i, end="")
print()

请注意我是如何在print(i, end="")行之前添加缩进的,以便每个循环执行一次,而不是在for完成之后。

我还将“您的电话号码是”部分移到循环之前,以便在打印任何数字之前只打印一次。


如果您愿意,您还可以反转if条件以在少 1 行中实现相同的结果:

for i in phone_number:
    if i != "-":
        print(i, end="")
print()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM