Wer als letztes antwortet kriegt viel mehr als nur 128 Dias

@Cer66 welcher Beitrag seit den 16k ist bei mir denn bitte ungültig? Ich glaube dein Skript buggt.

Wie ermittelst du die Regelkonformität?
Lass mich nachgucken...
Ups, tatsächlich ein bug. Beim ersten Buchstabe gucke ich nach ascii charakteren, da zählen Umlaute nicht dazu.
Das hier war der Post:
Über 2 Meter will man glaube nicht sein. Tatsächlich hat es physiologisch einige Vorteile nicht zu groß zu sein. :D

@maua1 Dass Cer viel mit wenig Inhalt schreibt ist nichts neues. ;)

Irgendeine Idee, oder reicht es string.ascii_letters mit string.ascii_letter + "aöüAÖÜ" auszutauschen?
Edit: Wahrscheinlich ist ein \w regex am einfachsten.
 
  • Gefällt mir
Wertungen: fscript
Lass mich nachgucken...
Ups, tatsächlich ein bug. Beim ersten Buchstabe gucke ich nach ascii charakteren, da zählen Umlaute nicht dazu.
Das hier war der Post:


Irgendeine Idee, oder reicht es string.ascii_letters mit string.ascii_letter + "aöüAÖÜ" auszutauschen?
Edit: Wahrscheinlich ist ein \w regex am einfachsten.
Bahnhof + ein paar Wörter für die Regeln.
 
Hier ist übrigens der relevante code um auf Regelkonformität zu prüfen:
Python:
# ...

def _count_words(string_: str) -> int:
    return len(re.split(rf"[\s{string.punctuation}]", string_))

# ...

def check_rules_compliance(
    content: str, word_count_: int
) -> tuple[bool, list[Optional[str]]]:
    # Rules:
    # - At least 5 words (word_count)
    # - First letter must be capitalized (first_letter)
    # - Trailing punctuation (punctuation)
    compliance = {
        "word_count": True,
        "first_letter": True,
        "punctuation": True,
    }
    if word_count_ < 5:
        compliance["word_count"] = False
    try:
        first_letter_index = _find_first_letter_index(content)
        if first_letter_index is None:  # No letter in msg
            compliance["first_letter"] = False
        elif not content[first_letter_index].isupper():
            compliance["first_letter"] = False
        if content[-1] not in string.punctuation:
            compliance["punctuation"] = False
    except IndexError:
        # Content is empty. Example: https://uwmc.de/p108813
        compliance["first_letter"] = False
        compliance["punctuation"] = False

    broken_rules: list[Optional[str]] = [
        key for key, value in compliance.items() if not value
    ]
    return (not any(broken_rules), broken_rules)

# ...

def _find_first_letter_index(string_: str):
    for char in string_:
        if char in string.ascii_letters:
            return string_.index(char)
    return None
.
 
Hier ist übrigens der relevante code um auf Regelkonformität zu prüfen:
Python:
# ...

def _count_words(string_: str) -> int:
    return len(re.split(rf"[\s{string.punctuation}]", string_))

# ...

def check_rules_compliance(
    content: str, word_count_: int
) -> tuple[bool, list[Optional[str]]]:
    # Rules:
    # - At least 5 words (word_count)
    # - First letter must be capitalized (first_letter)
    # - Trailing punctuation (punctuation)
    compliance = {
        "word_count": True,
        "first_letter": True,
        "punctuation": True,
    }
    if word_count_ < 5:
        compliance["word_count"] = False
    try:
        first_letter_index = _find_first_letter_index(content)
        if first_letter_index is None:  # No letter in msg
            compliance["first_letter"] = False
        elif not content[first_letter_index].isupper():
            compliance["first_letter"] = False
        if content[-1] not in string.punctuation:
            compliance["punctuation"] = False
    except IndexError:
        # Content is empty. Example: https://uwmc.de/p108813
        compliance["first_letter"] = False
        compliance["punctuation"] = False

    broken_rules: list[Optional[str]] = [
        key for key, value in compliance.items() if not value
    ]
    return (not any(broken_rules), broken_rules)

# ...

def _find_first_letter_index(string_: str):
    for char in string_:
        if char in string.ascii_letters:
            return string_.index(char)
    return None
.
Kannst du auch das Spiel Pumuckl programmieren?
 
Du hast dir das alte nich mal angeguckt, woher willst du wissen ob ich es dir nicht einfach nochmal gebe?
 
Wie wäre es mit Bond, Jane Bond?

@Fscript, @Cer66, was für Satzzeichen zählen eigentlich am Satzende? Und wie sieht es mit den Klammern von BBCode-Befehlen aus, oder wir nur der für Benutzer:innen direkt lesbare Text ausgewertet und Spoiler etc. ignoriert? Smileys würden laut Startpost als Satzzeichen zählen, aber was ist mit der elektronischen Statistik?

So, Testzeit: Welche dieser Beiträge würden für sich als Regelkonform zählen?
Hallo, liebe Leute, .... ......
Ist dieser Blindtext wirklich langweilig :confused:
Falls ja, was macht einen Text eigentlich langweilig? Das müssten wir noch klären, @Sparktr ^ ^
Also, ich habe mal gehört, Menschen die mit sich selber reden, sind langweilig. (Das hat unsere Freundin Geheim mal gehört.)
@Sparktr Eigentlich gibt man ja Quellen korrekt an.¹
Und wenn man nach mathematischen Formeln fragt, die mit einem Exponenten enden? Etwa so: A=πr²
Noch mal zu Geheim, die sagte auch mal: „Jeder redet mal mit sich selbst.“
Und sie hat mit uns ein Notizbuch ausgesucht. Das war in Frankreich, on y utilise des guillements différents qu'ici. «Comme ça.»
Führt ihr auch Notizbücher? Bitte ein paar Erfahrungsberichte:
Also, das hier ist nun wirklich Langeweile im fortgeschrittenen Stadium ☺

xoxo, Jane Bond im Dienste ihrer Sparktrtät
 

Benutzer, die dieses Thema gerade lesen

ONLINE 2 Spieler