1

我编写了一个工作游戏,它给用户一个由 7 个字母组成的随机字符串,用户必须只使用这些字母来组合单词和非单词,每个字母只使用一次。这已经接近完美,偶尔会出现错误。

我的主要问题是,在尝试确定字符串的点值时,我会考虑三个因素:长度、每个字母的值(基于 Scrabble 值)以及它是否是一个真实的单词。我下载了在这里找到的字典。该文件在我的 Ubuntu 计算机上保存为.txt文件,我使用了几种不同的方法来搜索文件的输入(因为文件中的所有单词都是大写字母,所以我将变量 'capital' 设置input.upper().为添加的点取(length+lettervalues) * realword. 如果realword == 2, 分数加倍

dictionary = open('wordlist.txt', 'r')
for line in dictionary:
    if capitals in line:
        realword = 2
    else:
        realword = 1
dictionary.close()

我还尝试了stackoverflow的解决方案。这也没有给我任何可行的解决方案。每次尝试时,它都不会崩溃或出现任何错误——它只是每次都转到 else 语句。如果这个问题得到解决,我将非常感激。这两天我一直在敲键盘。

提前致谢

4

1 回答 1

1

您不需要 else 语句。只有在字典中找到并中断时,才将 realword 初始化为 1 并更改为 2。此外,大多数字典在同一行上都有单词和含义,因此请尝试将其拆分,即选择空格键之前的第一个单词。

capitals= input('enter word').upper()

realword = 1
dictionary = open('wordlist.txt', 'r')
for line in dictionary:
    if capitals == line.split()[0]:
        realword = 2
        break

print (realword)
dictionary.close()
于 2013-02-02T16:11:05.080 回答