4月19日の研究室

Python の勉強として入力した値が素数かどうかを判定するプログラムを組んでみました。まだ if と for しか知らないのでその二つを駆使してみました。

flag = 0
x = int(input('Please enter an integer: '))
if x <= 0:
	print('This is negative')
elif x == 1:
	flag = 0
elif x % 2 == 0:
	if x == 2:
		flag = 0
	else:
		flag = 1
else:
	for i in range(x - 2):
		if x % (i + 2) == 0:
			flag = 1
			break
if flag == 0:
	print('This is a sosu')
else:
	print('This is not a sosu')

こうなるとC とどれくらい違うのか気になるので久しぶりにC 言語でも同じプログラムを組んでみました。

#include <stdio.h>
int main(void){
	int x, i;
	char xs[10];
	int flag = 0;
	printf("Please enter an integer: ");
	gets(xs);
	x = atoi(xs);
	if(x <= 0){
		printf("This is negative");
	}
	else if(x == 1){
		flag = 0;
	}
	else if(x % 2 == 0){
		if(x == 2){
			flag = 0;
		}
		else{
			flag = 1;
		}
	}
	else{
		for(i = 0; i < x - 2; i ++){
			if(x % (i + 2) == 0){
				flag = 1;
				break;
			}
		}
	}
	if(flag == 0){
		printf("This is a sosu");
		}
	else{
		printf("This is not a sosu");
	}
}

比較の為にぎゅうぎゅう詰めにしました笑。
C はPython のコードの2倍くらいの長さになりました。Python すっきりしていい感じです。

4月18日の研究室

今まで何度も英語の勉強のために小説を読もうと挑戦して失敗してきたけど
python の勉強の為なら続く続く。
そもそも日本語の小説さえ一冊読めないのに英語の小説を読もうとするのが無理な話でした。

ある凄腕さんがpython, perl, c(c++), lisp, javaを身につけるのが良いと言っているけど、
どのレベルに達したら身に付けたと言えるのか…

以上の5つの言語の基本的な文法を身につけてずっと付き合っていく
という方針でいこうかと思います

4月13日の研究室

卒論発表会も終わり、新年度を迎えました。
是非、今年度の4年生には頑張ってもらいたいところです。

今日はAnacondaというPythonの開発環境?をinstallしてPythonのtutorialを読んで終わりました。複素数が扱えるなんてPythonしゅごい。