认真学习的fzz 发表于 2020-9-20 13:51:07

字符串的问题

input 输入的总是一个字符串 那么请问 怎么把input输入的字符串的 数字和字母 分开到两个字符串里面?

昨非 发表于 2020-9-20 14:13:37

你想怎么分开

风过无痕1989 发表于 2020-9-20 14:28:07

昨非 发表于 2020-9-20 14:13
你想怎么分开

input 不是C语言的,我不会,交给你了

昨非 发表于 2020-9-20 14:40:34

test = list(input("请输入:"))
str_num = ""
str_abc = ""
for i in test:
    if i.isalpha():
      str_abc+=i
    elif i.isalnum():
      str_num+=i


print(str_abc)
print(str_num)

nnzp 发表于 2020-9-20 15:54:00

昨非 发表于 2020-9-20 14:40


请问这么写哪里出了问题?
test=input("请输入字符串:")
test=list(test)
test_string=[]
test_digital=[]
for i in range(len(test)):
    if str(test.isdigit):
      test_digital.append(test)
    else:
      test_string.append(test)
print("你所输入的字符串中的非数字为:")
print (str("".join(map(str,test_string))))
print("你所输入的字符串中的数字为:")
print (str("".join(map(str,test_digital))))

昨非 发表于 2020-9-20 15:56:23

nnzp 发表于 2020-9-20 15:54
请问这么写哪里出了问题?

哥们你从c语言来的吧,我不方便运行,但看你这代码浓浓的c的味道

nnzp 发表于 2020-9-20 16:10:16

昨非 发表于 2020-9-20 15:56
哥们你从c语言来的吧,我不方便运行,但看你这代码浓浓的c的味道

对的,这个判断逻辑你看看for i in range(len(test)):
    if test.isalnum():
      test_digital.append(test)
    elif test.isalpha():
      test_string.append(test)
判断列表中的每个元素,再添加到另一个列表中……
应该没问题……

nnzp 发表于 2020-9-20 16:17:07

nnzp 发表于 2020-9-20 16:10
对的,这个判断逻辑你看看
判断列表中的每个元素,再添加到另一个列表中……
应该没问题……

没问题了test=input("请输入字符串:")
test=list(test)
test_string=[]
test_digital=[]
for i in range(len(test)):
    if test.isdigit():
      test_digital.append(test)
    elif test.isalpha():
      test_string.append(test)
print(test_string)
print ("".join(map(str,test_string)))
print ("".join(map(str,test_digital)))

单帆蔡 发表于 2020-9-21 09:44:56

用正则表达式 非常简单就能完成
页: [1]
查看完整版本: 字符串的问题