arrays - 在 Array 中找到一个字母(来自一个 Array),然后使用索引从另一个 Array 中获取一个值
问题描述
我正在尝试使用下面的 calc 函数来评估一个单词让我们假设 showLetters = ["S","W","I","F","T"]
所以 S = 1, W = 4, I = 1, F = 4, T = 1 给我一个 wordScore 11....
我使用数组 alphaLetter 来查找字母在字母表中的位置。我使用找到的字母的索引从 alphaScore 中获取它的值。
func calcButton() {
var testWord = ""
var wordScore = 0
let alphaLetter = Array("A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z")
let alphaScore = Array ("1,3,2,2,1,4,2,4,1,8,5,1,3,1,1,3,10,1,1,1,1,4,4,8,4,10")
for k in (0...6)
{
testWord = testWord + showLetters[k]
let letterFound = String(showLetters[k])
*if let index = alphaLetter.firstIndex(of: letterFound) {*
}
}
我正在努力获取索引
我尝试将 letterFound 分配为找到的字母的字符串。然后尝试使用 if let index = alphaLetter.firstIndex(of: letterFound)
但这给了我一个错误无法将“String”类型的值转换为预期的参数类型“String.Element”(又名“Character”)
所以我有点卡住了......
建议或指导将不胜感激
谢谢
解决方案
alphaLetter
并且alphaScore
是字符串。从一个字符串创建数组的结果[Character]
包括逗号!。
可能你的意思是这个(在游乐场测试)
let showLetters = ["S","W","I","F","T"]
func calcButton() {
var testWord = ""
var wordScore = 0
let alphaLetter = Array(["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"])
let alphaScore = Array ([1,3,2,2,1,4,2,4,1,8,5,1,3,1,1,3,10,1,1,1,1,4,4,8,4,10])
for k in 0..<showLetters.count
{
testWord = testWord + showLetters[k]
let letterFound = showLetters[k]
if let index = alphaLetter.firstIndex(of: letterFound) {
wordScore += alphaScore[index]
}
}
print(wordScore)
}
calcButton()
尽管如此,使用字典效率更高["A" : 1, "B" : 3 ...]
func calcButton() {
var testWord = ""
var wordScore = 0
let alphaDict = ["P": 3, "U": 1, "B": 3, "M": 3, "A": 1, "C": 2, "V": 4, "L": 1, "Q": 10, "D": 2, "H": 4, "K": 5, "N": 1, "J": 8, "T": 1, "E": 1, "X": 8, "R": 1, "O": 1, "I": 1, "G": 2, "F": 4, "Y": 4, "Z": 10, "W": 4, "S": 1]
for character in showLetters {
if let value = alphaDict[character] {
wordScore += value
}
}
print(wordScore)
}
推荐阅读
- php - PDO 语句 select where date less than error
- arduino - 如何在 ESP8266 的 loop() 中连接 AP
- php - htaccess 正则表达式返回内部服务器错误
- python - 如何直接从 url 逐字逐句读取?
- c# - cefsharp 更改音频源名称
- android - Mockito - 为所有模拟方法设置默认返回字符串值
- python-3.x - LinAlgError:使用 p 值构建逻辑回归模型时出现奇异矩阵误差
- r - 在 R 中:根据时间段条件连接两个数据帧
- entity-framework-core - 对 DbContext 进行配置更改
- crystal-lang - 凯末尔的缓慢异常报告