Echo32398 2023-09-07 07:54 采纳率: 80%
浏览 1

如何将上述代码输入规则从a,b c,d改成一行定义一个关系,西文下的尖括号


from collections import defaultdict
from graphviz import Digraph


def create_graph(node_relations):
    graph = defaultdict(list)
    for u, v in node_relations:
        graph[u].append(v)
    return graph


def topological_sort(graph):
    visited = {}
    for key, values in graph.items():
        visited[key] = False
        for val in values:
            visited[val] = False
    stack = []

    def topological_sort_util(v):
        visited[v] = True
        for node in graph[v]:
            if not visited[node]:
                topological_sort_util(node)
        stack.insert(0, v)

    for node in visited.keys():
        if not visited[node]:
            topological_sort_util(node)

    return stack


def draw_graph(node_relations):
    dot = Digraph(comment='node graph', filename='blueprintNodeGraph-neato', format='png', engine='neato')
    dot.attr('node', shape='box', style='rounded,filled', fixedsize='false', fontname='Microsoft YaHei', fontsize='12')
    node_size = 0
    for relation in node_relations:
        node_size += 1
        dot.edge(relation[0], relation[1], len='3')
    dot.render(directory='doctest-output', view=True).replace('\\', '/')


if __name__ == '__main__':
    # 通过用户界面输入节点关系
    node_relations_input = input("请输入节点关系,以逗号分隔:")
    node_relations = [tuple(relation.split(',')) for relation in node_relations_input.split()]

    # 创建关系图
    graph = create_graph(node_relations)

    # 进行拓扑排序
    sorted_nodes = topological_sort(graph)

    # 输出拓扑排序结果
    print("拓扑排序结果:")
    for node in sorted_nodes:
        print(node)

    # 绘制关系图并显示在界面上
    draw_graph(node_relations)

如何将上述代码输入规则从a,b c,d改成一行定义一个关系,西文下的尖括号,格式为
<a,b>
<c,d>

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-09-07 10:12
    关注

    【相关推荐】



    • 你可以看下这个问题的回答https://ask.csdn.net/questions/713756
    • 除此之外, 这篇博客: 第二天 练习中的 标题1.编写程序,提示用户输入 a,b,c的值,然后显示判别式的结果。如果判别式为正,显示两个根如果判别式为零,显示一个根,否则,,显示没根 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
      import numpy as np
      def function():
          a = float(input('==>'))
          b = float(input('==>'))
          c = float(input('==>'))
          dr = b * b -4 *a *c
          r1 = (-b + np.sqrt(dr) ) / 2 *a
          r2 = (-b - np.sqrt(dr) ) / 2 *a
          if dr > 0 :
              print('The roots are %f and %f'%(r1,r2))
          elif dr == 0:
              print('The root is %f'%r1)
          else:
              print('The equation has no real roots')
          
      function()
      
      

      在这里插入图片描述


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 9月7日

悬赏问题

  • ¥15 软件供应链安全是跟可靠性有关还是跟安全性有关?
  • ¥15 电脑蓝屏logfilessrtsrttrail问题
  • ¥20 关于wordpress建站遇到的问题!(语言-php)(相关搜索:云服务器)
  • ¥15 【求职】怎么找到一个周围人素质都很高不会欺负他人,并且未来月薪能够达到一万以上(技术岗)的工作?希望可以收到写有具体,可靠,已经实践过了的路径的回答?
  • ¥15 Java+vue部署版本反编译
  • ¥100 对反编译和ai熟悉的开发者。
  • ¥15 带序列特征的多输出预测模型
  • ¥15 Python 如何安装 distutils模块
  • ¥15 关于#网络#的问题:网络是从楼上引一根网线下来,接了2台傻瓜交换机,也更换了ip还是不行
  • ¥15 资源泄露软件闪退怎么解决?