[英]Split numeric,strings,special characters in given string
給定一個由字母、數字和特殊字符組成的字符串 S。 您需要編寫一個程序將字符串拆分為三個不同的字符串 S1、S2 和 S3,這樣字符串 S1 將包含 S 中存在的所有字母,字符串 S2 將包含 S 中存在的所有數字,S3 將包含所有特殊字符S 中出現的字符。字符串 S1、S2 和 S3 的字符順序應與它們在輸入中出現的順序相同。
輸入:輸入的第一行包含一個 integer T 表示測試用例的數量。 每個測試用例的第一行包含一個由字母、數字和特殊字符組成的字符串 S。 Output:對於每個測試用例,在第一行打印包含 S 的所有字母的字符串 S1。在第二行打印包含所有數字的字符串 S2。 在第三行打印字符串 S3,其中包含 S 中存在的所有特殊字符。
約束:1<=T<=100 3<=長度(S)<=1000
示例:輸入:2 geeks01for02geeks03::! **Docoding123456789everyday## 輸出:geeksforgeeks 010203 !!! Docodingeveryday 123456789 **## 我的代碼:
enter code here
t=int(input())
a=[]
n=[]
st=[]
for _ in range(t):
s=list(input())
for i in s:
if i.isalpha():
a.append(i)
elif i.isdigit():
n.append(i)
elif not i.isalnum():
st.append(i)
for i in a:
print(i,end='')
print('')
for i in n:
print(i,end='')
print('')
for i in s:
print(i,end='')
print('')
我的代碼是分隔字母、數字但不是特殊字符任何人都可以告訴我我的 python 代碼有什么問題
def splitString(str):
alpha = ""
num = ""
special = ""
for i in range(len(str)):
if (str[i].isdigit()):
num = num+ str[i]
elif((str[i] >= 'A' and str[i] <= 'Z') or
(str[i] >= 'a' and str[i] <= 'z')):
alpha += str[i]
else:
special += str[i]
print(alpha)
print(num )
print(special)
t=int(input())
for i in range(t):
s = input()
splitString(s)
在最后一個打印特殊字符的 for 循環中,您將其循環到錯誤的列表中。 將其更改為
for i in st:
print(i)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.