繁体   English   中英

并排打印两个功能

[英]Print two functions side by side

这是我第一次使用python,但我无法以我想要的方式打印它。 我希望输出并排。 可能是因为我累了,但我似乎无法弄清楚。

我的代码:

def cToF():
    c = 0
    while c <= 100:
        print(c * 9 / 5 + 32)
        c += 1
def fToC():
    f = 32
    while f <= 212:
        print((f - 32) / 1.8)
        f += 1






print (cToF(),fToC())

OUTPUT:

all of the numbers from cToF()
all of the numbers from fToC()

我希望如何输出:

all of the numbers from cToF()    all of the numbers from fToC()

当前,cToF函数运行并打印所有值,然后fToC函数运行并打印所有值。 您需要更改生成值的方式,以便可以并行打印它们。

# generate f values
def cToF(low=0, high=100):
    for c in range(low, high + 1):
        yield c * 9 / 5 + 32

# generate c values
def fToC(low=32, high=212):
    for f in range(low, high + 1):
        yield (f - 32) * 5 / 9

# iterate over pairs of f and c values
# will stop once cToF is exhausted since it generates fewer values than fToC
for f, c in zip(cToF(), fToC()):
    print('{}\t\t{}'.format(f, c))
# or keep iterating until the longer fToC generator is exhausted
from itertools import zip_longest

for f, c in zip_longest(cToF(), fToC()):
    print('{}\t\t{}'.format(f, c))  # will print None, c once cToF is exhausted

如果您使用的是Python 2, izip_longest xrange替换为range,将izip_longestzip_longest

如果要打印像;

cToF first Element fToC first element
cToF second Element fToC second element
...

您可以加入2个列表进行打印。

您可以使用的示例代码;

import pprint
def cToF():
    c = 0
    ret_list = []
    while c <= 100:
        ret_list.append(c * 9 / 5 + 32)
        c += 1
    return ret_list

def fToC():
    f = 32
    ret_list = []
    while f <= 212:
        ret_list.append((f - 32) / 1.8)
        f += 1
    return ret_list

def join_list(first_list, second_list):
    length_of_first_list = len(first_list)
    for i, val in enumerate(second_list):
        second_list[i] = (" - "if (length_of_first_list-1) < i else first_list[i], val)
    return second_list

pp = pprint.PrettyPrinter(indent=4)
pp.pprint(join_list(cToF(), fToC()))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM