无法在单独的行中打印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()
的方法来实现这一点,这是一种更好/更干净/更短的方法。