- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在创建一个变化计算器,它必须输出与此类似的结果:
{'TWENTY':1, 'TEN':1, 'FIVE':1, 'PENNY’ : 2}
{‘ONE’:1,'FIVE':1}
{‘ONE’:1}
{'PENNY':4,'NICKEL':1}
我在读取数据和访问索引时遇到问题,因为我以前从未读取过 .csv 文件。我想我的计算器逻辑应该没问题。我意识到有更有效的方法来编码,但我有时间限制,这对我来说似乎是合乎逻辑的。如有任何帮助,我们将不胜感激。
谢谢
enter code here__author__ = 'austincolaizzi'
import csv
print("Enter in your file name: ")
file1 = input(" ")
txt1 = open(file1)
csv_txt1 = csv.reader(txt1)
#for row in csv_txt1:
#print (row[0:2])
difference = 0
remainder = 0
change = {
'Penny': 0,
'Nickel': 0,
'Dime': 0,
'Quarter': 0,
'Half Dollar': 0,
'One': 0,
'Two': 0,
'Five': 0,
'Ten': 0,
'Twenty': 0,
'Fifty': 0,
'Hundred': 0,
}
for row in csv_txt1:
if row[0] == row[1]:
print ("You had exact change")
elif row[0] > row[1]:
print ("You need more money to purchase this")
else:
difference = csv_txt1[1] - csv_txt1[0]
if difference % 100 == 0:
remainder = remainder
elif difference % 100 != 0:
change['Hundred'] = difference / 100
remainder = difference % 100
elif remainder % 50 == 0:
remainder = remainder
elif remainder % 50 != 0:
change['Fifty'] = remainder / 50
remainder = remainder % 50
elif remainder % 20 == 0:
remainder = remainder
elif remainder % 20 != 0:
change['Twenty'] = remainder / 20
remainder = remainder % 20
elif remainder % 10 == 0:
remainder = remainder
elif remainder % 10 != 0:
change['Ten'] = remainder / 10
remainder = remainder % 10
elif remainder % 5 == 0:
remainder = remainder
elif remainder % 5 != 0:
change['Five'] = remainder / 5
remainder = remainder % 5
elif remainder % 2 == 0:
remainder = remainder
elif remainder %2 != 0:
change['Two'] = remainder / 2
remainder = remainder % 2
elif remainder % 1 == 0:
remainder = remainder
elif remainder %1 != 0:
change['Two'] = remainder / 1
remainder = remainder % 1
elif remainder % int(.50) == 0:
remainder = remainder
elif remainder % int(.50) != 0:
change['Two'] = remainder / int(.50)
remainder = remainder % int(.50)
elif remainder % int(.25) == 0:
remainder = remainder
elif remainder % int(.25) != 0:
change['Two'] = remainder / int(.25)
remainder = remainder % int(.25)
elif remainder % int(.10) == 0:
remainder = remainder
elif remainder % int(.10) != 0:
change['Two'] = remainder / int(.10)
remainder = remainder % int(.10)
elif remainder % int(.05) == 0:
remainder = remainder
elif remainder % int(.05) != 0:
change['Two'] = remainder / int(.05)
remainder = remainder % int(.05)
else:
remainder = remainder / int(.01)
for key in change:
if change[key] >= 1:
print (change[key])
最佳答案
在 else 语句之后的行中,您有 csv_txt1[1] - csv_txt1[0]
。
这应该是 row[1] - row[0]
,如您之前所做的那样。
请注意,您应该发布回溯,这将使调试变得更容易,因为它显示了发生错误的确切行。
关于Python错误: TypeError: '_csv.reader' object is not subscriptable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32386380/
我对 python 中的 csv 模块有疑问。 这是我为解析我的 csv 而编写的代码 def parse(data): data_delim = data.split("\n") d
这个问题在这里已经有了答案: How to skip the headers when processing a csv file using Python? (5 个答案) 关闭 8 年前。 当我
我不确定这里的问题是什么。我有一个要过滤的 csv 文件。我想删除所有以“@”开头的行以及第三列为字符串“chrM”的所有行。我基本上将我的代码设置为类似于此处的答案: TypeError: expe
在尝试读取 csv.py 文件的源代码(作为在另一个上下文中实现我自己的 writer 类的指南)时,我发现很多反过来,该文件中的功能是从名为 _csv 的东西导入的: from _csv impo
我有一个 python 字典列表,我正在尝试将其值写入 csv 文件,但由于某种原因,我不断收到_csv.Error:预期序列 这里是示例代码: import csv import os, sys h
这是我的全部代码: import csv def numbersOut(): for i in range (1, 1001): out.writerow("%s" % (i+
我正在创建一个变化计算器,它必须输出与此类似的结果: {'TWENTY':1, 'TEN':1, 'FIVE':1, 'PENNY’ : 2} {‘ONE’:1,'FIVE':1} {‘ONE’:1}
请帮忙。当我想将 dict AllListInstance 写入 csv 文件时出现错误。这是我的代码: AllListInstance= {frozenset(['OFFENSE INVOLVING
到目前为止,这是我的代码: import csv reader = csv.reader(open('new_file.txt','r'),delimiter=' ') row1 = reader[0
我有一个读取 csv 文件的脚本,其中包含非常大的字段: # example from http://docs.python.org/3.3/library/csv.html?highlight=cs
下面是一个独立的例子。更改“folder_name”以运行它。这回答: reader type = _csv.reader list(reader) = [] _csv.reader' has no
这个问题在这里已经有了答案: csv.Error: iterator should return strings, not bytes (6 个回答) 关闭7年前。 在我的 csv 程序开始时: im
我在一个包含非常大字段的 csv 文件中读取了一个脚本: # example from http://docs.python.org/3.3/library/csv.html?highlight=cs
我从一个 url 下载了一个 csv 文件,并使用 csv.reader 读取它的内容。但是,当我尝试遍历 _csv.reader 对象时,我得到了 _csv.Error: line contains
我想使用 csv2libsvm.py ( https://github.com/zygmuntz/phraug/blob/master/csv2libsvm.py ) 将 csv 文件转换为稀疏格式文
我正在使用 Windows 编写一个多处理程序来并行处理大型 .CSV 文件。 我找到了 this excellent example对于类似的问题。在 Windows 下运行时,我收到一条错误消息,
我正在尝试从 url 读取 gzip 压缩的 csv 文件。这是一个超过 50.000 行的非常大的文件。当我尝试下面的代码时出现错误:_csv.Error: line contains NULL b
我已经为这个简单的问题苦苦挣扎了太久,所以我想我应该寻求帮助。我正在尝试将国家医学图书馆 ftp 站点的期刊文章列表读入 Python 3.3.2(在 Windows 7 上)。期刊文章位于 .csv
我已经为这个简单的问题苦苦挣扎了太久,所以我想我会寻求帮助。我正在尝试将国家医学图书馆 ftp 站点的期刊文章列表读入 Python 3.3.2(在 Windows 7 上)。期刊文章位于 .csv
我是一名优秀的程序员,十分优秀!