2

我正在编写一个与图形相关的 python 程序。
我的主要是这样的

if __name__=='__main__': 
cns = [(0,1), (0,2),(1,2), (1,3),(3,1)]
G=make_graph(cns)
r=DFS(G)

我想更改程序以便用户可以输入数据。

cns = [(0,1), (0,2),(1,2), (1,3),(3,1)]

此列表将从用户处读取。如何输入元组列表,该怎么做?

我可以raw_input用于此目的吗?

4

3 回答 3

5
from ast import literal_eval

cns = literal_eval(raw_input("Please enter the data: "))
于 2013-10-24T17:14:23.310 回答
0
points = map(lambda x:map(float,x.split(",")),
         iter(lambda:raw_input("Enter X,Y coordinates or Nothing to continue").strip(),""))
print points
于 2013-10-24T17:12:13.193 回答
0

我想补充一下kindall的答案。当你运行 kindall 的代码时,你会被要求输入数据。要输入一个元组,您可以输入 (1,2,3)。现在检查它是否真的是一个元组,你可以添加 2 行: cns[0]=8 print cns

输出会给出一些错误:“TypeError: 'tuple' object does not support item assignment”。

然后,你知道 cns 是一个元组。谢谢@kindall!

于 2017-10-20T13:46:44.170 回答