鱼C论坛

 找回密码
 立即注册
查看: 1385|回复: 9

[已解决]如何按要求输出所输入字符串的部分单词

[复制链接]
发表于 2019-10-25 20:10:19 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 zmLau0727 于 2019-10-25 20:15 编辑

写一个程序,能够将用户输入的字符串(如名言名句)中以 字母h 到 字母z 开头的单词以大写形式输出;
输出时,每个单词在一行中;
注意:只输出单词,不输出原字符串中标点符号。
另外,本题目不区分大小写。不管是 H-Z 还是 h-z 开头的单词都要输出。
像这张图一样,输入一句话,输出下面的这些单词
最佳答案
2019-10-25 21:35:41
  1. def output(string):
  2.     new_str = ''
  3.     # string.upper():返回 string 的字母大写形式
  4.     for i in string.upper():
  5.         # 如果 i 是空格或大写字母
  6.         if i.isupper() or i == ' ':
  7.             new_str += i
  8.     # new_l 等于 new_str 以空格分隔的列表
  9.     new_l = new_str.split()
  10.     tmp = []
  11.     for i in new_l:
  12.         # 如果 i 的第一个字符是 h ~ z 的任意一个字母
  13.         if 72 <= ord(i[0]) <= 90:
  14.             # 将 i 添加进列表
  15.             tmp.append(i)
  16.     # 将列表拆包打印,设置分隔符为 \n
  17.     print(*tmp, sep='\n')


  18. output('Wheresoever you go, go with all your heart。')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-10-25 20:12:46 | 显示全部楼层
本帖最后由 zmLau0727 于 2019-10-25 20:13 编辑

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

使用道具 举报

发表于 2019-10-25 20:13:39 | 显示全部楼层

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

使用道具 举报

发表于 2019-10-25 20:15:48 | 显示全部楼层
  1. def output(string):
  2.     for i in string:
  3.         if 104 <= ord(i) <= 122:
  4.             i = chr(ord(i) - 32)
  5.         print(i, end='')


  6. output('hgdiHzaa56437 m 5, ')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-25 20:17:10 | 显示全部楼层

额,找不到图了,就差不多这样的,输入:Wheresoever you go, go with all your heart。
输出:
WHERESOEVER
YOU
WITH
YOUR
HEART
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-25 20:18:03 | 显示全部楼层
zmLau0727 发表于 2019-10-25 20:17
额,找不到图了,就差不多这样的,输入:Wheresoever you go, go with all your heart。
输出:
WHERES ...

呃,好吧,我的错了,再改改
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-25 20:29:45 | 显示全部楼层
  1. def output(string):
  2.     new_str = ''
  3.     for i in string.upper():
  4.         if i.isupper() or i == ' ':
  5.             new_str += i
  6.     new_l = new_str.split()
  7.     tmp = []
  8.     for i in new_l:
  9.         if 72 <= ord(i[0]) <= 90:
  10.             tmp.append(i)
  11.     print(*tmp, sep='\n')


  12. output('Wheresoever you go, go with all your heart。')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-25 20:43:58 | 显示全部楼层

能麻烦你注释一下吗,有点儿看不太懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-25 21:35:41 | 显示全部楼层    本楼为最佳答案   
  1. def output(string):
  2.     new_str = ''
  3.     # string.upper():返回 string 的字母大写形式
  4.     for i in string.upper():
  5.         # 如果 i 是空格或大写字母
  6.         if i.isupper() or i == ' ':
  7.             new_str += i
  8.     # new_l 等于 new_str 以空格分隔的列表
  9.     new_l = new_str.split()
  10.     tmp = []
  11.     for i in new_l:
  12.         # 如果 i 的第一个字符是 h ~ z 的任意一个字母
  13.         if 72 <= ord(i[0]) <= 90:
  14.             # 将 i 添加进列表
  15.             tmp.append(i)
  16.     # 将列表拆包打印,设置分隔符为 \n
  17.     print(*tmp, sep='\n')


  18. output('Wheresoever you go, go with all your heart。')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-25 21:54:37 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-21 21:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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