无法在单独的行中打印python列表的对象
我想在单独的行中打印列表的内容,这是代码无法在单独的行中打印python列表的对象,python,Python,我想在单独的行中打印列表的内容,这是代码 mylist=[] standard='' for i in range(8): name=input() name = name.lower() num=0 for char in name: if num==0: standard+=char.upper() elif num>0: standard+=char.lower()
mylist=[]
standard=''
for i in range(8):
name=input()
name = name.lower()
num=0
for char in name:
if num==0:
standard+=char.upper()
elif num>0:
standard+=char.lower()
num+=1
mylist.append(standard)
for element in mylist:
print(element)
我希望列表中的元素打印如下,例如:
Water
Sky
Cloud
但它恰好是这样的:
Water
WaterSky
WaterSkyCloud
如果有元素列表,则使用内置方法在新行上打印会更容易
print(*[x.title() for x in mylist], sep='\n')
print(*args)
在python3中,允许您根据需要打印iterable,这里有一个sep。
您还可以在字符串上使用.title()
,将第一个字符取为大写,将其他字符取为小写尝试以下操作:
mylist=[]
temp = []
for i in range(3):
name=input()
name = name.lower()
temp.append(name)
for name in temp :
num=0
standard=''
for char in name:
if num==0:
standard+=char.upper()
elif num>0:
standard+=char.lower()
num+=1
mylist.append(standard)
for element in mylist:
print(element)
每次都必须清空
standard
。需要清空用于打印的for循环中standard
的内容。应在每个for循环中重置standard
变量。另外,我认为你的缩进是错误的……我看到你试图使第一个字符成为大写字符,然后是小写字符。像“水”
变成“水”
,然后“水”
。您可以使用名为.title()
的方法来实现这一点,这是一种更好/更干净/更短的方法。