回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>这是我现在设计的代码</p>
<pre><code>import sys #so that later on I can exit easily
CoinCountData = open("CoinCountData.txt","r")
class Volunteer:
def __init__(self,name,coin_type,weight_of_bag,TrueCount):
self.name = (name)
self.coin_type = (coin_type) #a function allowing me to class the data
self.weight_of_bag = (weight_of_bag)
self.TrueCount = (TrueCount)
</code></pre>
<p>我还有一个小的数据测试部分,它试图将我的txt文件的第二行变成一个类</p>
<pre><code>volunteer1 = Volunteer(CoinCountData.readlines()[1])
</code></pre>
<hr/>
<p>但是,系统会提示我以下消息</p>
<pre class="lang-py prettyprint-override"><code>Traceback (most recent call last):
File "C:\Users\Owner\Desktop\CW\!Coincount\coincount.py", line 14, in <module>
volunteer1 = Volunteer(CoinCountData.readlines()[1])
TypeError: __init__() missing 3 required positional arguments: 'coin_type', 'weight_of_bag', and 'TrueCount'
</code></pre>
<p>我不明白如何实际分类这些数据。似乎它认为整件事都是一个名字,我通过改变实验的代码发现了问题所在:</p>
<pre><code>import sys #so that later on I can exit easily
CoinCountData = open("CoinCountData.txt","r")
class Volunteer:
def __init__(self,name):
self.name = (name)
volunteer1 = Volunteer(CoinCountData.readlines()[1])
print(volunteer1.name)
</code></pre>
<p>当我运行程序时,它打印了整行(<em>Malcolm,1p,3356.00,Y</em>)</p>
<p>就上下文而言,这是我制作硬币计数器的项目,给我的硬币计数数据如下:</p>
<pre><code>Abena,5p,325.00,Y
Malcolm,1p,3356.00,Y
Jane,£2,120.00,Y
Andy,£1,166.25,N
Sandip,50p,160.00,Y
Liz,20p,250.00,Y
Andy,20p,250.00,Y
Andy,50p,160.00,Y
Jane,£1,183.75,N
Liz,£,179.0,N
Liz,50p,170.0,N
Jane,50p,160.0,Y
Sandip,£1,183.0,N
Jane,£2,132.0,N
Abena,1p,3356.0,N
Andy,2p,250.0,N
Abena,£1,175.0,Y
Malcolm,50p,160.0,Y
Malcolm,£2,175.0,N
Malcolm,£1,175.0,Y
Malcolm,1p,356.0,Y
Liz,20p,250.0,Y
Jane,£2,120.0,Y
Jane,50p,160.0,Y
Andy,£1,175.0,Y
Abena,1p,359.56,N
Andy,5p,328.5,N
Andy,£2,108.0,N
Malcolm,£2,12.0,N
</code></pre>
<p>数据是垂直列出的,因此它显示<code>Abena,5p,325.00,Y</code>,然后下面是<code>Malcolm,1p,3356.00,Y</code>等等</p>
<p>我理解文本文件中的逗号不能作为python中实际的合法逗号使用的问题,我也不允许更改实际的文本文件,因此请告诉我如何创建一个完整的类来输入所有变量</p>