下面编写的代码应该给出如下结果。例如,如果输入是“狮子头和蛇尾”,则输出应该是-“LHAST”。你知道吗
结果是“LLLLL”。请检查我的密码。如果可能,请建议更好的做法,并帮助我更好的代码。你知道吗
代码如下:
#ask for Input
name = input('Input words to make acroname :')
#make all in caps
name = name.upper()
#turn them in list
listname = name.split()
#cycle through
for namee in listname:
#Get the first letter & type in same line
print(name[0],end="")
print()
input (' press a key to move out' )
简单地说:
对python3使用
input('')
,对python2使用raw_input('')
您可以将
str.join
与generator-expression
结合使用,获得问题的单行解决方案:为什么?
如果我们从生成器内部开始,我们将遍历
name.split()
。一个str
的.split
方法返回一个list
所有不同的strings
的list
,这些不同的strings
是通过对传递到该方法的内容进行拆分而找到的。默认字符是一个空格,因为我们需要单词,这对我们来说很好。你知道吗然后我们说对于这个
list
中的每个单词i
,从字符串中取第一个字符:i[0]
。然后用str.upper()
将其转换为大写。你知道吗然后,最后一步是将所有这些字符连接在一起,这是通过
str.join
方法完成的。你知道吗您可以更正代码。你应该使用
print(name[0])
而不是print(namee[0])
,因为你想打印单词的第一个字母,而不是原来的名字。你知道吗一个好的做法是将变量命名为更具描述性的名称,以避免此类拼写错误。你知道吗
如果您想在同一行中打印首字母缩略词,我建议您使用下面的代码获得具有所需输出的变量
acronym
:相关问题 更多 >
编程相关推荐