python的list对象转换为str_无法将’list’对象转换为隐式str Python

如果使用in关键字,则有一个更简单的解决方案.您甚至不需要拆分字母即可检查其中是否包含给定字符:

year3wordlist = ['asdf123', 'dsfgsdfg435']

total_sum = 0

for word in year3wordlist:

word_sum = 0

for char in word:

if char in string.ascii_letters:

word_sum += 1

total_sum += word_sum

# Length of characters in the ascii letters alphabet:

# total_sum == 12

# Length of all characters in all words:

# sum([len(w) for w in year3wordlist]) == 18

编辑:

由于OP表示他正在尝试创建拼字比赛,所以让我尝试更具体地回答.正确拼写的单词和相似的字符串之间的距离可以用许多不同的方法来测量.最常见的方式之一称为“ edit distance”或“ Levenshtein distance”.这表示将输入字符串重写为“正确”字符串所需的插入,删除或替换的次数.

您可以在Python-Levenshtein软件包中找到实现的距离.您可以通过pip安装它:

$sudo pip install python-Levenshtein

然后像这样使用它:

from __future__ import division

import Levenshtein

correct = 'because'

student = 'becuase'

distance = Levenshtein.distance(correct, student) # distance == 2

mark = ( 1 - distance / len(correct)) * 10 # mark == 7.14

最后一行只是关于如何从学生的输入和正确答案之间的距离中得出分数的建议.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值