打印结束=“”,格式是否正确?

2024-09-27 19:29:59 发布

您现在位置:Python中文网/ 问答频道 /正文

代码

fav_numbers = {
    'bill': [4,6,7,1],
    'uros': [9,0,1,2],
    'pera': [1,6,3,5],
    }

for name, numbers in fav_numbers.items():
    print(name.title())
    for num in numbers:
        print(num, end=' ')

结果

Bill
4 6 7 1 Uros
9 0 1 2 Pera
1 6 3 5 [Finished in 0.1s]

问题 如何编写for循环,以便最后两个名称的格式正确?你知道吗


Tags: 代码nameinfortitleitemsnumend
3条回答

问题不在于end=' ',而在于print(name.title())缺少它。再加上end= ',把数字打印到同一行,最后换行符是print()。你知道吗

for name, numbers in fav_numbers.items():
    print(name.title(), end=' ')  # no newline here
    for num in numbers:
        print(num, end=' ')
    print()                       # but newline here

或者,可以使用print而不使用特殊参数,并使用*numbers作为var arg参数传递。你知道吗

for name, numbers in fav_numbers.items():
    print(name.title(), *numbers)

这将打印名称和个人编号,所有编号都用空格隔开。两种方式的输出都是:

Pera 1 6 3 5
Bill 4 6 7 1
Uros 9 0 1 2

只需在循环末尾添加另一个print,以新行开始:

for name, numbers in fav_numbers.items():
    print(name.title())
    for num in numbers:
        print(num, end=' ')
    print()

给你live

fav_numbers = {
    'bill': [4,6,7,1],
    'uros': [9,0,1,2],
    'pera': [1,6,3,5],
    }

for k,v in fav_numbers.items():
    print(k, *v)

输出

bill 4 6 7 1
uros 9 0 1 2
pera 1 6 3 5

相关问题 更多 >

    热门问题