Wenn ich den Code nicht regelmäßig schreibe, stoße ich auf eine Situation, in der ich nicht einmal einfachen Logikcode schreiben kann. Daher werde ich mir notieren, was ich beim erneuten Studium gelernt habe, einschließlich der Bedeutung der Rehabilitation. Ich habe es als zusammengefasst.
Ich werde versuchen, die repräsentativste Geschichte von Herrn Nabeats (Herrn Katsura Mitsudo) in der Welt "Nur wenn die Zahl ein Vielfaches von 3 und die Zahl mit 3 dumm ist" in verschiedenen Sprachen umzusetzen.
** Wikipedia - Katsura 3rd # Hauptgeschichte & Gag ** https://ja.wikipedia.org/wiki/桂三度#主な持ちネタ&ギャグ
Ich gebe einfach Zahlen von 1 bis 100 mit Zeilenumbrüchen aus, aber nur wenn die Zahl ein Vielfaches von 3 ist und die Zahl 3 hat, wird der Gesichtsbuchstabe "٩ (ᐛ) و" mit ": (Doppelpunkt)" kombiniert. Ausgabe nach der Nummer.
Ausgabebild
1
2
3 : ٩( ᐛ )و
4
5
6 : ٩( ᐛ )و
7
8
9 : ٩( ᐛ )و
10
11
12 : ٩( ᐛ )و
13 : ٩( ᐛ )و
14
15 : ٩( ᐛ )و
16
17
18 : ٩( ᐛ )و
19
20
21 : ٩( ᐛ )و
22
23 : ٩( ᐛ )و
24 : ٩( ᐛ )و
25
26
27 : ٩( ᐛ )و
28
29
30 : ٩( ᐛ )و
31 : ٩( ᐛ )و
32 : ٩( ᐛ )و
33 : ٩( ᐛ )و
34 : ٩( ᐛ )و
35 : ٩( ᐛ )و
36 : ٩( ᐛ )و
37 : ٩( ᐛ )و
38 : ٩( ᐛ )و
39 : ٩( ᐛ )و
40
41
42 : ٩( ᐛ )و
43 : ٩( ᐛ )و
44
45 : ٩( ᐛ )و
46
47
48 : ٩( ᐛ )و
49
50
51 : ٩( ᐛ )و
52
53 : ٩( ᐛ )و
54 : ٩( ᐛ )و
55
56
57 : ٩( ᐛ )و
58
59
60 : ٩( ᐛ )و
61
62
63 : ٩( ᐛ )و
64
65
66 : ٩( ᐛ )و
67
68
69 : ٩( ᐛ )و
70
71
72 : ٩( ᐛ )و
73 : ٩( ᐛ )و
74
75 : ٩( ᐛ )و
76
77
78 : ٩( ᐛ )و
79
80
81 : ٩( ᐛ )و
82
83 : ٩( ᐛ )و
84 : ٩( ᐛ )و
85
86
87 : ٩( ᐛ )و
88
89
90 : ٩( ᐛ )و
91
92
93 : ٩( ᐛ )و
94
95
96 : ٩( ᐛ )و
97
98
99 : ٩( ᐛ )و
100
Sie können "grep" verwenden, um "Zahlen mit 3" zu beurteilen, so dass das Schreiben überraschend einfach ist.
Für Bash
for i in $(seq 1 100) #Durchlaufen Sie Zahlen von 1 bis 100
do
if [ $(($i % 3)) == 0 ] || [ $(echo "$i" | grep "3") ] #Sei nur dumm, wenn es ein Vielfaches von 3 und eine Zahl mit 3 ist
then
echo "${i} : ٩( ᐛ )و"
else
echo "$i" #Ansonsten nur numerische Ausgabe
fi
done
Die Beurteilung von "Zahl mit 3" lautet "String.valueOf (i) .indexOf (" 3 ")! = -1"
Für Java
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
//Durchlaufen Sie Zahlen von 1 bis 100
for(int i=1; i<=100; i++){
//Sei nur dumm, wenn es ein Vielfaches von 3 und eine Zahl mit 3 ist
if(i%3 == 0 || String.valueOf(i).indexOf("3") != -1 ){
System.out.println(i + " : ٩( ᐛ )و");
} else {
System.out.println(i);
}
}
}
}
Ich denke, Sie können auf verschiedene Arten schreiben, aber ich persönlich habe versucht, es wie Scala zu schreiben.
Für Scala
object Main extends App{
println(1 to 100 map ((n) => { //Generieren Sie eine Karte mit einer Zahl von 1 bis 100 als Schlüssel
var s = n.toString() //Ersetzen Sie den in eine Zeichenfolge konvertierten Schlüssel durch den Kartenwert
if(n % 3 == 0 || s.contains('3')) {s += " : ٩( ᐛ )و"} //Sei nur dumm, wenn es ein Vielfaches von 3 und eine Zahl mit 3 ist
s
}) reduceLeft ((s,e) => { s + "\n" + e }) ) //Ausgabe in der richtigen Reihenfolge, während der Kartenwert gebrochen wird
}
Ich denke, dass Sie im Fall von PowerShell auf verschiedene Arten schreiben können, aber ich habe versucht, es wie eine Funktion nach Scala zu schreiben
Für PowerShell
1..100 |
%{
if (($_ % 3 -eq 0) -or ($_ -match "3")) { echo("$_" + " : ٩( ᐛ )و") }
else { echo("$_") }
}
Ich denke, Python ist eine sehr einfache Sprache, um diese Art der Verarbeitung zu schreiben
Für Python 3
# coding: utf-8
for num in range(1, 100+1):
if num % 3 == 0 or "3" in str(num):
print("{0} : ٩( ᐛ )و".format(num))
else:
print(num)
Ruby ist wie Python eine Sprache, die sehr einfach zu schreiben ist.
Für Ruby
#!/bin/env ruby
for i in 1..100
if i % 3 == 0 || i.to_s =~ /3/
printf( "%d : ٩( ᐛ )و\n", i )
else
printf( "%d\n", i )
end
end
Ich dachte, dass Golang es mit der Typkonvertierung schwer haben würde, aber ich konnte es unerwartet einfach schreiben.
Für Go
package main
import (
"fmt"
"strconv"
"strings"
)
func main() {
//Durchlaufen Sie Zahlen von 1 bis 100
for i := 1; i <= 100; i++ {
//Konvertiere int in string
var s string = strconv.Itoa(i)
//Sei nur dumm, wenn es ein Vielfaches von 3 und eine Zahl mit 3 ist
if i%3 == 0 || strings.Contains(s, "3") {
fmt.Println(s + " : ٩( ᐛ )و")
} else {
fmt.Println(s)
}
}
}
das ist alles.
Wenn Sie Lust dazu haben, werde ich andere Sprachen ausprobieren.