Viele von Ihnen haben vielleicht irgendwann im Internet mit Menschen aus Russland interagiert, und eine Untergruppe von Ihnen hat vielleicht die etwas seltsame Methode bemerkt, sich auszudrücken.
z.B удали игру нуб)))
Wo die )))
zur Betonung der vorherigen Aussage hinzugefügt wurden, habe ich an einer Theorie gearbeitet, die besagt, dass das Verhältnis von )
's zum Rest der Zeichenkette direkt proportional zur implizierten Betonung ist, aber ich finde es oft schwierig, das Verhältnis zu berechnen Da ich auch im Fluge versuche, mit einer Menge Missbrauch umzugehen, möchte ich den kürzestmöglichen Code, um zu berechnen, wie die resultierende Zeichenfolge laut Original aussehen soll, für einen Wert der Begeisterung zwischen 0 und 500% Dies erleichtert meine Recherche erheblich, da ich nicht jedes Mal, wenn ich meine Hypothese testen möchte, umfangreiche Skripte abtippen muss.
Die Herausforderung:
Schreiben Sie ein vollständiges Programm oder eine Funktion, die mit zwei Argumenten, einer Zeichenfolge unbekannter Länge und einer Zahl entweder im Ganzzahlformat (zwischen 0 und 500) oder im Dezimalformat (zwischen 0 und 5, mit 2 Genauigkeitspunkten) arbeitet
- Geben Sie die ursprüngliche Zeichenfolge mit den Suffixen
)
's zurück bzw. zeigen Sie sie an - Die Zahl wird als Verhältnis der eingegebenen Zahl zur Länge der Zeichenfolge berechnet.
- Wenn also die Zahl 200 oder 2.00 angegeben wurde, müssen 200% der Zeichenfolge mit dem Suffix
)
's' versehen werden - Die Anzahl der Klammern, auf die in Dezimalsituationen gerundet wird, spielt keine Rolle.
- Skript ist erforderlich, um druckbare ASCII-Zeichen zu unterstützen.
- Es muss nur ein Eingabezahlenformat Ihrer Wahl unterstützt werden.
Beispiele:
"codegolf" 125 = codegolf))))))))))
"codegolf" 75 = codegolf))))))
"noob team omg" 0.5 = noob team omg))))))
"hi!" 4.99 = hi!)))))))))))))))
Beispielcode (PowerShell) (mit Dezimaleingabe):
Function Get-RussianString ([string]$InputStr,[decimal]$Ratio){
$StrLen = $InputStr.Length
$SuffixCount = $StrLen * $Ratio
$Suffix = [string]::New(")",$SuffixCount)
return $InputStr + $Suffix
}
Get-RussianString "codegolf" 0.5
codegolf))))
Das ist Code-Golf, also gewinnt der kürzeste Code!
!
s, aber sie tippen sie so, wie sie sind. Es ist nicht besonders häufig, aber ziemlich ikonisch.
)
ist ein reduziertes Emoticon :)
. Soweit ich weiß, wird es von jungen Leuten sehr häufig verwendet.
)
ist keine Betonung, es ist einfach der Smiley. Soweit ich weiß, ist es schwieriger, :
mit russischer Tastatur zu tippen , deshalb lächeln sie ohne Augen.
:
Auf russischem Layout (ЙЦУКЕН) ist es genauso schwer zu schreiben wie ^
auf QWERTY. Aber in der Tat ist die )
eine reduzierte Version von :)
. Es ist viel einfacher, die Umschalttaste-0 zu drücken und zu halten, als die Tasten wiederholt zu wechseln.
)
Akzente wie eine!
? Handelt es sich um ein Codierungsproblem?