我正试图制作一个程序来解决“100美分”的问题 https://www.experts-exchange.com/questions/20372967/A-1-B-2-C-3-etc-Find-words-that-equal-100.html 除了我想让我的用户决定这个词的价值。 这是到目前为止我的代码
__author__ = "Anthony Chen"
__copyright__ = "Copyright (C) 2017 Anthony Chen"
__license__ = "Public Domain"
__version__ = "0.5"
linenumber = 1
global filename
filename = "wordlist.txt"
global infile
infile = open(filename, "r")
global filelinelist
filelinelist = []
global fileline
fileline = infile.readline(int(linenumber))
global fileworth
lineworth = input('How much cents do you want your words to be worth?')
global wordlist
wordlist = []
def process():
fileline = filename.lower()
fileline.rstrip('/n')
fileline.rstrip("'")
filelinelist = list(fileline)
filelinelist = fileline.replace('a', '1')
filelinelist = fileline.replace('b', '2')
filelinelist = fileline.replace('c', '3')
filelinelist = fileline.replace('d', '4')
filelinelist = fileline.replace('e', '5')
filelinelist = fileline.replace('f', '6')
filelinelist = fileline.replace('g', '7')
filelinelist = fileline.replace('h', '8')
filelinelist = fileline.replace('i', '9')
filelinelist = fileline.replace('j', '10')
filelinelist = fileline.replace('k', '11')
filelinelist = fileline.replace('l', '12')
filelinelist = fileline.replace('m', '13')
filelinelist = fileline.replace('n', '14')
filelinelist = fileline.replace('o', '15')
filelinelist = fileline.replace('p', '16')
filelinelist = fileline.replace('q', '17')
filelinelist = fileline.replace('r', '18')
filelinelist = fileline.replace('s', '19')
filelinelist = fileline.replace('t', '20')
filelinelist = fileline.replace('u', '21')
filelinelist = fileline.replace('v', '22')
filelinelist = fileline.replace('w', '23')
filelinelist = fileline.replace('x', '24')
filelinelist = fileline.replace('y', '25')
filelinelist = fileline.replace('z', '26')
print('This is a program made to solve the __cents problem.')
print(' ')
print('If a is worth 1 cents, b is worth 2 cents, c is worth 3 cents, then list all thewords with a total value of __ cents.')
while True:
infile = open(filename, "r")
fileline = infile.readline(int(linenumber))
linenumber += 1
process()
filesum = sum(filelinelist)
if int(filesum) == lineworth:
wordlist.append(filelist.join)
print('The words found so far are: %s" % wordlist')
print(wordlist.count)
print('words found.')
else:
filelinelist = []
如果我运行它,会显示以下内容: 你希望你的话值多少钱 这是一个用来解决这个问题的程序
(如果a值1美分,b值2美分,c值3美分,则列出总值为_uuuu美分的所有单词。)
Python 3.6.2 (v3.6.2:5fd33b5, Jul 8 2017, 04:57:36) [MSC v.1900 64 bit
(AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
>>>
=========== RESTART: C:\Anthony\School\__CentsWord\__CentsWord.py
===========
How much cents do you want your words to be worth?100
This is a program made to solve the __cents problem.
If a is worth 1 cents, b is worth 2 cents, c is worth 3 cents, then list all
thewords with a total value of __ cents.
没有别的事情发生。请尽快给我回电话。谢谢
直接的问题正是它告诉您的:
replace
不是一个列表方法。类型str
有一个replace函数,但是您显式地将字符串转换为列表尝试
print
使用文件行列表显示您正在使用的内容您在求和时也会遇到一些问题,因为您已将每个字母替换为
str
,而不是数值。不能sum
字符串列表;您必须先将它们转换为整数,然后才能sum
它们如果你知道字典,你可以考虑一个翻译词典,比如^ {CD7>}。还考虑使用^ {< CD8> }和^ {< CD9> }函数来简化对字母值的编码。
我将在这里留下建议,而不是在代码中有太多东西需要重新工作的情况下,一路推动您开发一个工作程序
相关问题 更多 >
编程相关推荐