所以我要让用户输入他们的名字,然后再给他们起名字的缩写,但是我在打印每个字符串的第一个字母时遇到了麻烦。我认为是这样的:
seperated[1]
仅在字符串中打印第一个字母时有效,但是当我在列表中打印时,它仅打印第一个项目。如何告诉它打印列表中第一个字符串的首字母?
name = str(input('Enter a name: '))
separated = name.split(' ')
答案 0 :(得分:1)
您应该研究python slicing
选项
https://www.pythoncentral.io/how-to-slice-listsarrays-and-tuples-in-python/
name[:1]
打印每个单词的第一个字符:
for word in separated:
print(word[:1])
答案 1 :(得分:1)
您正在基于''拆分名称,因此只会拆分名称
就像您输入名称一样(rohit kumar)
因此它只会将名字和姓氏分开,而不会给您名字的缩写
答案 2 :(得分:1)
您知道如何使用separated[0]
访问数组中的项,但是从技术上讲,字符串也是字符数组!因此,您可以使用separated[0][0]
访问数组中第一个字符串的第一个字母。
另外,str.split()
默认情况下使用空格进行拆分(因此不需要将''定义为分隔符),并从结果数组中获取首字母:
name = 'Jane Doe' # User input
separated = name.split() # ['Jane', 'Doe']
first_initial = separated[0][0] # 'J'
last_initial = separated[1][0] # 'D'
print(f'Your initials are: {first_initial}.{last_initial}.')
以下是一些与您相关的资源:
和@Alex在上面包括了有关切片字符串/数组/元组的链接
答案 3 :(得分:0)
name = str(input('Enter a name: '))
x = name.split(' ')
print(x[0][0])
print(x[1][0])
print(x[2][0])
答案 4 :(得分:0)
这是一种解决方案:
first = separated[0]
second = separated[1]
third = separated[2]
然后我打印了每个字符串的第一个字母。