【发布时间】:2021-05-30 12:08:27
【问题描述】:
这段代码有问题:
import sys
sys.setrecursionlimit(300300)
(n,m) = tuple(map(int, input().split()))
G = [[] for _ in range(n+1)]
odwiedzony = [False for _ in range(n+1)]
odwiedzonyPonownie = [False for _ in range(n+1)]
for i in range(m):
(a, b) = tuple(map(int, input().split()))
G[a].append(b)
G[b].append(a)
#global op
def dfs(v):
#op = 0
odwiedzony[v] = True
for sąsiad in G[v]:
if odwiedzony[sąsiad] == True and odwiedzonyPonownie[sąsiad] == False:
odwiedzonyPonownie[sąsiad] = True
print("tak")
op += 1
print(op)
#print("op")
elif sąsiad == v:
print("V = sąsiad")
#op = n
else :
dfs(sąsiad)
dfs(G[1][0])
if op/2 >= n :
print("niedrzewo")
else:
print("drzewo")
因为我需要使用变量“op”来检查“op”是否大于“N”。但我不能使用变量“op”——我需要添加它。 所以我决定使用类来解决这个问题,我尝试做这样的事情:
import sys
sys.setrecursionlimit(300300)
(n,m) = tuple(map(int, input().split()))
G = [[] for _ in range(n+1)]
odwiedzony = [False for _ in range(n+1)]
odwiedzonyPonownie = [False for _ in range(n+1)]
for i in range(m):
(a, b) = tuple(map(int, input().split()))
G[a].append(b)
G[b].append(a)
class cus():
def __init__(self):
self.op = 0
def dfs(self,v):
odwiedzony[v] = True
for sąsiad in G[v]:
if odwiedzony[sąsiad] == True and odwiedzonyPonownie[sąsiad] == False:
odwiedzonyPonownie[sąsiad] = True
print("tak")
self.op += 1
print(self.op)
elif sąsiad == v:
print("V = sąsiad")
self.op = n
else :
dfs(sąsiad)
c = cus()
c.dfs(G[1][0])
if c.op/2 >= n :
print("niedrzewo")
else:
print("drzewo")
But I have this mistake:
文件“路径”,第 17 行 自我.op = 0 TabError:缩进中制表符和空格的使用不一致 请帮忙!!!谢谢:)
【问题讨论】:
标签: python function class variables self