如何摆脱""和"()"字符?



我正在执行以下代码:

def filewrite():
filew = open('company.dat', 'a')
custid = str(input('Enter Customer ID:'))
Widg = abs(float(input('Quantity of Widgets Ordered:')))
Gidg = abs(float(input('Quantity of Gidgets Ordered:')))
Dood = abs(float(input('Quantity of Doodads Ordered:')))
widt = Widg * 10.55
gidt = Gidg * 7.30
doodt = Dood * 5.25
total = widt + gidt + doodt
wida = (Widg, 'Widgets Ordered @ $10.55', format(widt,',.2f'))
gida = (Gidg, 'Gidgets Ordered @ $7.30', format(gidt,',.2f'))
dooda = (Dood, 'Doodads Ordered @ $5.25', format(doodt,',.2f'))
filew.write('n')
filew.write(custid + 'n')
filew.write(str(wida))
filew.write(str(gida))
filew.write(str(dooda))
filew.close()

def fileread():
filer = open('company.dat', 'r')
read = filer.read()
filer.close()
print(read, end='')
again = True
while again == True:
print('1 - Add a new Invoice Order')
print('2 - Display all Invoice Orders')
print('3 - Quit')
choice = abs(int(input('Enter 1, 2, or 3:')))
if choice > 3:
print('Error, no choice of such available.')
choice = abs(int(input('Enter 1, 2, or 3:')))

if choice == 1:
filewrite()
print('n')
if choice == 2:
fileread()
print('n')
if choice == 3:
exit()

当我输入所有内容并读取文件时,它显示为:

As234
(12.0, 'Widgets Ordered @ $10.55', '126.60')(1.0, 'Gidgets Ordered @ $7.30', 
'7.30')(3.0, 'Doodads Ordered @ $5.25', '15.75')

如何摆脱显示的()''

我刚开始编码并开始学习python类,这是我的任务之一,我一直在做这件事。

您的问题是如何创建变量。在这里,您可以将一些变量创建为整数:

Widg = abs(float(input('Quantity of Widgets Ordered:')))
Gidg = abs(float(input('Quantity of Gidgets Ordered:')))
Dood = abs(float(input('Quantity of Doodads Ordered:')))

但在这里,你可以使用每个变量列出一个列表:

wida = (Widg, 'Widgets Ordered @ $10.55', format(widt,',.2f'))
gida = (Gidg, 'Gidgets Ordered @ $7.30', format(gidt,',.2f'))
dooda = (Dood, 'Doodads Ordered @ $5.25', format(doodt,',.2f'))

然后,当您将其转换为字符串str(wida)时,您会得到打印的内容,因为这是您为转换提供的内容。

您应该检查要创建的变量类型,并执行以下操作之一:

  1. 通过格式化列表中的项目进行强制转换以打印
  2. 创建一个类来保存列表中当前的项目(wida、gida、dooda(,在其中可以分别获取类中的每个变量

如果您对第二个选项有任何问题,请发表意见或阅读文档。

正如@usr2564301所说,实现目标的最简单方法是首先不要实现它们。

如果必须(我不建议这样做(,可以替换Python字符串中的字符。必须注意的是,sting是不可变的,所以您必须创建一个新的字符串来执行此操作。

x = "(12.0, 'Widgets Ordered @ $10.55', '126.60')(1.0, 'Gidgets Ordered @ $7.30', '7.30')(3.0, 'Doodads Ordered @ $5.25', '15.75')"
a = x.replace("(", "")
b = a.replace(")", "")
c = b.replace("'", "")

print(c)

返回

12.0, Widgets Ordered @ $10.55, 126.601.0, Gidgets Ordered @ $7.30, 7.303.0, Doodads Ordered @ $5.25, 15.75

最新更新