Buch Cover Buch Cover Buch Cover Buch Cover

Web-Code: - Webcode Help

Buchstabenwerte addieren (Zeichenketten)

Schreibe ein Programm, das aus einer beliebigen Zeichenkette, den Gesamtwert aller darin enthaltenen Buchstaben aufsummiert. Der Wert eines Buchstabes ergibt sich dabei aus seiner Position im Alphabet, also A=1, B=2 ... Z=26.

Groß- und Kleinschreibung spielt dabei keine Rolle.

 

Welchen Wert hat die folgende Zeichenkette?

 

'slkdfjb543--..wdwnsmwqpieo  fubwicbxoiwkewdioefncwbviwrc.,  fueodoqiewncvnwofuwb'

0 Kommentare

Bitte melde dich an um einen Kommentar abzugeben

9 Lösung(en)

import re
string='slkdfjb543--..wdwnsmwqpieo  fubwicbxoiwkewdioefncwbviwrc.,  fueodoqiewncvnwofuwb'
ABC={chr(i):i-96 for i in range(97,123)}
print(sum([ABC[a] for a in re.findall('[a-z]',string.lower())]))
                

Lösung von: rob ert (tub)

s="slkdfjb543--..wdwnsmwqpieo  fubwicbxoiwkewdioefncwbviwrc.,  fueodoqiewncvnwofuwb"
print(sum((ord(c)-ord('a')+1 for c in s.lower() if 'a' <= c <= 'z')))
                

Lösung von: Name nicht veröffentlicht

function letterSum(str) {
  let sum = 0;
  str = str.toUpperCase().replace(/[^A-Z]/g, '');
  for (let i = 0; i < str.length; i++)
    sum += str.charCodeAt(i) - 64;
  return sum;
}

let w = `slkdfjb543--..wdwnsmwqpieo  fubwicbxoiwkewdioefncwbviwrc.,  fueodoqiewncvnwofuwb`;
console.log( letterSum(w) );
                

Lösung von: Lisa Salander (Heidi-Klum-Gymnasium Bottrop)

// NET 7.x | C# 11.x | VS-2022
var txt = "slkdfjb543--..wdwnsmwqpieo  fubwicbxoiwkewdioefncwbviwrc., fueodoqiewncvnwofuwb";
Console.WriteLine(txt.ToLower().Where(char.IsLetter).Select(x => x - 96).Sum());
                

Lösung von: Jens Kelm (@JKooP)

// C++ 14 | VS-2022
#include <iostream>
#include <algorithm>
#include <numeric>

auto sum_of_char_values(const std::string& txt) {
    auto str{ txt };
    std::transform(str.begin(), str.end(), str.begin(), ::tolower);
    return std::accumulate(str.begin(), str.end(), 0, [](auto a, auto b) { return a + (std::isalpha(b) ? (b - 96) : 0); });
}

int main() {
    const std::string txt{ "slkdfjb543--..wdwnsmwqpieo  fubwicbxoiwkewdioefncwbviwrc.,  fueodoqiewncvnwofuwb" };
    std::cout << sum_of_char_values(txt) << "\n";
}
                

Lösung von: Jens Kelm (@JKooP)

// NET 7.x | C# 11.x | VS-2022
using System.Text.RegularExpressions;

int SumOfCharValues2(string txt) {
    var sum = 0;
    foreach (var c in txt) {
        if (char.IsAsciiLetterLower(c)) sum += c - 96;
        else if (char.IsAsciiLetterUpper(c)) sum += c - 64;
    }
    return sum;
}

int SumOfCharValues3(string txt) => new Regex(@"[a-z]").Matches(txt.ToLower()).Select(x => x.Value[0] - 96).Sum();
                

Lösung von: Jens Kelm (@JKooP)

// C++ 14 | VS-2022
#include <iostream>

auto sum_of_char_values2(const std::string& txt) {
    auto sum{ 0 };
    for (const auto& c : txt) {
        if (c >= 'A' && c <= 'Z') sum += (c - 64);
        else if (c >= 'a' && c <= 'z') sum += (c - 96);
    }
    return sum;
}

int main() {
    const std::string txt{ "slkdfjb543--..wdwnsmwqpieo  fubwicbxoiwkewdioefncwbviwrc.,  fueodoqiewncvnwofuwb" };
    std::cout << sum_of_char_values2(txt) << "\n";
}
                

Lösung von: Jens Kelm (@JKooP)

// C++ 14 | VS-2022
#include <iostream>
#include <numeric>

int main() {
    const std::string str{ "slkdfjb543--..wdwnsmwqpieo  fubwicbxoiwkewdioefncwbviwrc.,  fueodoqiewncvnwofuwb" };
    const auto sum{ std::accumulate(str.begin(), str.end(), 0, [](auto a, auto b) { return a + (std::isalpha(b) ? (std::islower(b) ? (b - 96) : (b - 64)) : 0); }) };
    std::cout << sum << "\n";
}
                

Lösung von: Jens Kelm (@JKooP)

' VBA
Function CharIsAlpha(ByVal s$)
    tmp$ = Asc(Left(s, 1))
    CharIsAlpha = tmp > 96 And tmp < 123
End Function

Function SumOfCharValues(txt$)
    Dim sum%
    txt = LCase(txt)
    For i% = 1 To Len(txt)
        tmp$ = Mid(txt, i, 1)
        If CharIsAlpha(tmp) Then
            sum = sum + (Asc(tmp) - 96)
        End If
    Next i
    SumOfCharValues = sum
End Function

Sub Main()
    Const txt As String = "slkdfjb543--..wdwnsmwqpieo  fubwicbxoiwkewdioefncwbviwrc.,  fueodoqiewncvnwofuwb"
    Debug.Print SumOfCharValues(txt)
End Sub
                

Lösung von: Jens Kelm (@JKooP)

Verifikation/Checksumme:

840

Aktionen

Bewertung

Durchschnittliche Bewertung:

Eigene Bewertung:
Bitte zuerst anmelden

Meta

Zeit: 0.25
Schwierigkeit: Leicht
Webcode: 6c6j-fv88
Autor: ()

Download PDF

Download ZIP

Zu Aufgabenblatt hinzufügen