screen = Builder.load_string(f''' ValueError: Sign not allowed in string format specifier
时间: 2024-04-10 21:31:11 浏览: 264
这个错误通常是由于在格式化字符串时使用了无效的格式说明符导致的。格式说明符用于指定将值插入到字符串中的格式。在您的情况下,错误消息指出,您在格式字符串中使用了不允许的符号。
要解决这个问题,您需要检查您的格式字符串,并确保它们符合正确的格式说明符规则。请检查您的代码,特别是涉及格式化字符串的部分,以找出错误并进行修正。可能需要更改格式指示符或使用其他适当的方法来处理字符串。
相关问题
修改class arcnode: def __init__(self, adjvex, weight, link=None): self.adjvex = adjvex self.weight = weight self.link = link class vexnode: def __init__(self, data, first_arc=None): self.data = data self.first_arc = first_arc class Graph: def __init__(self): self.vex_list = [] self.vex_num = 0 self.edge_num = 0 # 请在这里填写答案 def addVertex(self, vex_val): new_vertex = vexnode(vex_val) self.vex_list.append(new_vertex) self.vex_num += 1 def addEdge(self, f, t, cost=0): if f not in self.vex_list: nv = self.addVertex(f) # 如果起始顶点不存在,则将其添加到图中 if t not in self.vex_list: nv = self.addVertex(t) # 如果目标顶点不存在,则将其添加到图中 # 无向图添加双向边 self.vex_list[f].addNeighbor(self.vex_list[t], cost) # 将目标顶点及其权重添加到起始顶点的 connectedTo 字典中 self.vex_list[t].addNeighbor(self.vex_list[f], cost) # 有向图只添加一条边 # 请在这里填写答案 def print_graph(self): for i in range(self.vex_num): print(self.vex_list[i].data, end="->") cur = self.vex_list[i].first_arc while cur: print("adj:{},weight:{}".format(cur.adjvex, cur.weight), end="->") cur = cur.link print('None') if __name__ == "__main__": g = Graph() s = input() for vertex in s: g.addVertex(vertex) g.addEdge(0, 1, 11) g.addEdge(0, 2, 55) g.addEdge(2, 3, 88) g.addEdge(0, 3, 33) g.addEdge(1, 2, 44) g.print_graph()
class arcnode:
def __init__(self, adjvex, weight, link=None):
self.adjvex = adjvex
self.weight = weight
self.link = link
class vexnode:
def __init__(self, data, first_arc=None):
self.data = data
self.first_arc = first_arc
class Graph:
def __init__(self):
self.vex_list = []
self.vex_num = 0
self.edge_num = 0
def addVertex(self, vex_val):
new_vertex = vexnode(vex_val)
self.vex_list.append(new_vertex)
self.vex_num += 1
def addEdge(self, f, t, cost=0):
if f not in range(self.vex_num):
raise ValueError("Invalid Starting Vertex")
if t not in range(self.vex_num):
raise ValueError("Invalid Ending Vertex")
new_arc = arcnode(t, cost)
new_arc.link = self.vex_list[f].first_arc
self.vex_list[f].first_arc = new_arc
self.edge_num += 1
def print_graph(self):
for i in range(self.vex_num):
print(self.vex_list[i].data, end="->")
cur = self.vex_list[i].first_arc
while cur:
print("adj:{},weight:{}".format(cur.adjvex, cur.weight), end="->")
cur = cur.link
print('None')
if __name__ == "__main__":
g = Graph()
s = input()
for vertex in s:
g.addVertex(vertex)
g.addEdge(0, 1, 11)
g.addEdge(0, 2, 55)
g.addEdge(2, 3, 88)
g.addEdge(0, 3, 33)
g.addEdge(1, 2, 44)
g.print_graph()
请仿照这一段代码,if self.type == "csv": try: self.pd_data = pd.read_csv(self.file_path) except: raise ValueError('csv路径错误') elif self.type == "txt": self.pd_data = pd.DataFrame( pd.read_table(self.file_path, sep=' ', header=None, engine='python', names=self.names)) elif self.type == "pmlb": try: self.pd_data = fetch_data(str(self.file_path), local_cache_dir='./datasets', return_X_y=False) self.x, self.y = fetch_data(str(self.file_path), local_cache_dir='./datasets', return_X_y=True) except: raise ValueError('pmlb数据集名称错误') elif self.type == "numpy": try: self.pd_data = pd.DataFrame(self.file_path) self.x, self.y = pd.DataFrame(self.file_path[:, :-1]), pd.DataFrame(self.file_path[:, -1]) except: raise ValueError('numpy数据集设置失败')
这是一个根据文件类型读取数据的代码示例。以下是根据您提供的代码进行修改后的示例:
```python
import pandas as pd
class DataReader:
def __init__(self, file_path, file_type, names=None):
self.file_path = file_path
self.file_type = file_type
self.names = names
self.pd_data = None
self.x = None
self.y = None
def read_data(self):
if self.file_type == "csv":
try:
self.pd_data = pd.read_csv(self.file_path)
except:
raise ValueError('csv路径错误')
elif self.file_type == "txt":
self.pd_data = pd.DataFrame(
pd.read_table(self.file_path, sep='\t', header=None, engine='python', names=self.names))
elif self.file_type == "pmlb":
try:
self.pd_data = fetch_data(str(self.file_path), local_cache_dir='./datasets', return_X_y=False)
self.x, self.y = fetch_data(str(self.file_path), local_cache_dir='./datasets', return_X_y=True)
except:
raise ValueError('pmlb数据集名称错误')
elif self.file_type == "numpy":
try:
self.pd_data = pd.DataFrame(self.file_path)
self.x, self.y = pd.DataFrame(self.file_path[:, :-1]), pd.DataFrame(self.file_path[:, -1])
except:
raise ValueError('numpy数据集设置失败')
```
在上面的示例中,我们创建了一个名为DataReader的类,它接受文件路径和文件类型作为参数,并在read_data方法中根据文件类型读取数据。根据不同的文件类型,我们使用相应的pandas函数来读取数据。请注意,对于txt文件,我们使用了制表符('\t')作为分隔符。对于pmlb和numpy文件,我们根据需要设置了self.x和self.y变量。如果读取过程中出现错误,将引发ValueError异常。
阅读全文
相关推荐
















