如果a=0.01$、b=0.02$等等,我如何制作一个程序来归档每个单词的值

2024-09-27 04:29:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图制作一个程序来解决“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.

没有别的事情发生。请尽快给我回电话。谢谢


Tags: toisfilenameglobalinfilereplaceanthonywords
1条回答
网友
1楼 · 发布于 2024-09-27 04:29:00

直接的问题正是它告诉您的:replace不是一个列表方法。类型str有一个replace函数,但是您显式地将字符串转换为列表

尝试print使用文件行列表显示您正在使用的内容

您在求和时也会遇到一些问题,因为您已将每个字母替换为str,而不是数值。不能sum字符串列表;您必须先将它们转换为整数,然后才能sum它们

如果你知道字典,你可以考虑一个翻译词典,比如^ {CD7>}。还考虑使用^ {< CD8> }和^ {< CD9> }函数来简化对字母值的编码。

我将在这里留下建议,而不是在代码中有太多东西需要重新工作的情况下,一路推动您开发一个工作程序

相关问题 更多 >

    热门问题