首页 > 解决方案 > python中的函数print什么都不显示

问题描述

我在 python 中的函数有问题

我有一个包含 10 个名字的列表,我想将距离与名字 1 和名字 2 以及名字 1 与名字 3 ....10 以及名字 2 之后与名字 3 .....成 10 ...

我创建了一个函数 dist_date,它给出了作者的两个日期之间的距离。

例如 print(dist_date('Veryan Heal','Brian G. Field'))给出0.25

但是当我尝试使用这样的循环时:

valeur = []
valeur2 = []
for x in range(len(names)):
    for i in range(x + 1, len(names)):
        if dist_name(names[x],names[i]) < 0.3 and dist_name(names[x],names[i])!=None:
            print(dist_date('names[x]','names[y]'))

它不起作用,但最奇怪的是我看到我的 python 正在执行我的代码,但什么也没出现。就像我只有白色的价值,一个白色的页面。

谢谢你读我

标签: pythonlistloops

解决方案


添加更多打印语句,以便您可以准确地看到程序在做什么。在每个循环的顶部和每个 if/else 分支的顶部打印一条消息:

for x in range(len(names)):
    print("Looping x=%d" % x)
    for i in range(x + 1, len(names)):
        print("Looping i=%d" % i)
        if dist_name(names[x],names[i]) < 0.3 and dist_name(names[x],names[i])!=None:
            print("If condition was true")
            print(dist_date(names[x],names[y]))
        else:
            print("If condition was false")

推荐阅读