簡體   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