LoginSignup
4
1

More than 1 year has passed since last update.

【JAVA→Python】JAVAで書いた特定の文字をカウントするコードをPythonに書き換えてもらう【新人教育】

Last updated at Posted at 2022-07-04

JAVA研修を終えた新卒の子にPythonを教える

入社後研修が終わった新卒の子にとりあえず会社としてはわんぱくにもDjangoの本を渡して学習してもらおうという感じだったので(私の入社時もそうだった)Python自体を学んでもらってDjangoに取り組んでもらおうと思い独断で新人教育の機会をいただきました。
私自身が学習で文章題を解いた時にJAVAでコードを作成したので、せっかくなら新卒の子にPythonに変換してみてもらおうと思いコードを渡してみました。

目次

1.実際に渡したコード(JAVA)
2.そう、それはDjango
3.あれこれ話しがあとに返ってきた解答
4.おわりに

1.実際に渡したコード(JAVA)

JAVA
import java.util.*;


public class Main {
    public static void main(String[] args) {

        String exampleString = "AZURE PLUS";

        int totalCharacters = 0;
        char temp;
        for (int s = 0; s < exampleString.length(); s++) {

            temp = exampleString.charAt(s);
            if (temp == 'U')
                totalCharacters++;
        }

        System.out.println(totalCharacters);
    }
}

コード自体は文字列から特定の文字をカウントし、2が出力されるようになってます。

コードを書き換える時の条件
・最低限の記述法については連携済み
・WEBなどで調べて書いてもいい

この条件でやってもらうことにしました。

2.そう、それはDjango

早速返ってきた解答

まずは皆さんに見てもらいましょう。

python
String exampleString = "AZUREPLUS"

int totalCharacters = 0

char temp

{% for num in range(len(exampleString)) %}
    temp = exampleString[num]
    if temp == 'U': 
        totalCharacters += 1
{% endfor %}
print(totalCharacters)

こ、、、これは、、、!
いきなりDjangoで解答が返ってきました。
(これちゃんと見るためにはプロジェクト作らないとダメなやつやん。。。)

無視してそのまま実行すると、もちろんこうなります。

ターミナル
  File "<ipython-input-4-a1c9e3d2ce5e>", line 1
    String exampleString = "AZUREPLUS"
                       ^
SyntaxError: invalid syntax

Djangoとして実行できるかは後ほど調査しますが、「DjangoではなくてPythonの書き方があるんだよ」という話と、Django以外でのPythonとしての実行の仕方について連携しました。
そう、彼は悪くない。いきなりDjangoの本を渡されたらそうなる。

3.あれこれ話したあとに返ってきた解答

python
exampleString = "AZUREPLUS"

totalCharacters = 0

temp = ""

for num in range(len(exampleString)):
 temp = exampleString[num]
 if temp == 'U': 
        totalCharacters += 1
print(totalCharacters)

お!よかった!
これよこれ!

かくいう私はまだ書き換えてなかったんですが(ごめんね)、実行したらこうなりました。

ターミナル
2

無事にインデントや変数の書き方などを確認できてよかったです。
伝わらなかったらどうしようかと思ってました。

4.おわりに

今回は初めての試みでJAVAでからPythonに書き換えてもらいましたが、いきなりフレームワークを触るというよりJAVAでを学習してたならPythonに書き換えるとどうなるかを学んでもらい、今までの学習を活かしつつ他の言語の理解を深めてもらえたらと思いました。

私もJAVAからPythonに書き換えるのはやってこなかったので一緒に学べたらと思います。
今後もこの活動を続けてみようと思います。
(まずは今回の問題のフィードバックをもらってからになりますが)

4
1
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1