鱼C论坛

 找回密码
 立即注册
查看: 1868|回复: 8

[已解决]字符串的问题

[复制链接]
发表于 2020-9-20 13:51:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
input 输入的总是一个字符串 那么请问 怎么把input输入的字符串的 数字和字母 分开到两个字符串里面?
最佳答案
2020-9-20 14:40:34
  1. test = list(input("请输入:"))
  2. str_num = ""
  3. str_abc = ""
  4. for i in test:
  5.     if i.isalpha():
  6.         str_abc+=i
  7.     elif i.isalnum():
  8.         str_num+=i


  9. print(str_abc)
  10. print(str_num)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-9-20 14:13:37 | 显示全部楼层
你想怎么分开
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-20 14:28:07 | 显示全部楼层

input 不是C语言的,我不会,交给你了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-20 14:40:34 | 显示全部楼层    本楼为最佳答案   
  1. test = list(input("请输入:"))
  2. str_num = ""
  3. str_abc = ""
  4. for i in test:
  5.     if i.isalpha():
  6.         str_abc+=i
  7.     elif i.isalnum():
  8.         str_num+=i


  9. print(str_abc)
  10. print(str_num)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

发表于 2020-9-20 15:54:00 | 显示全部楼层

请问这么写哪里出了问题?
  1. test=input("请输入字符串:")
  2. test=list(test)
  3. test_string=[]
  4. test_digital=[]
  5. for i in range(len(test)):
  6.     if str(test[i].isdigit):
  7.         test_digital.append(test[i])
  8.     else:
  9.         test_string.append(test[i])
  10. print("你所输入的字符串中的非数字为:")
  11. print (str("".join(map(str,test_string))))
  12. print("你所输入的字符串中的数字为:")
  13. print (str("".join(map(str,test_digital))))  
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-20 15:56:23 | 显示全部楼层
nnzp 发表于 2020-9-20 15:54
请问这么写哪里出了问题?

哥们你从c语言来的吧,我不方便运行,但看你这代码浓浓的c的味道
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

对的,这个判断逻辑你看看
  1. for i in range(len(test)):
  2.     if test[i].isalnum():
  3.         test_digital.append(test[i])
  4.     elif test[i].isalpha():
  5.         test_string.append(test[i])
复制代码

判断列表中的每个元素,再添加到另一个列表中……
应该没问题……

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

没问题了
  1. test=input("请输入字符串:")
  2. test=list(test)
  3. test_string=[]
  4. test_digital=[]
  5. for i in range(len(test)):
  6.     if test[i].isdigit():
  7.         test_digital.append(test[i])
  8.     elif test[i].isalpha():
  9.         test_string.append(test[i])
  10. print(test_string)
  11. print ("".join(map(str,test_string)))
  12. print ("".join(map(str,test_digital)))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-21 09:44:56 | 显示全部楼层
用正则表达式 非常简单就能完成
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-19 13:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表