print関数を使って「Hello World!」と表示します。
print("Hello World!")
a+b a-b a×b a÷b
を計算します。割り算は、小数や商、余りを表示させることができます。
a = 7
b = 3
print(a+b)
print(a-b)
print(a*b)
print(a/b)
print(a//b)
print(a%b)
aの値が0以上のときはaの値を、aの値が負のときは-1をかけて-aを答えます。
a = -3
if a<0:
a *= -1
print(str(a))
2つの自然数aとbについて、ユークリッド互除法を用いて最大公約数を計算します。
a = 125
b = 256
r = 1
if a*b == 0:
print("a,bの数値を変更して下さい。")
else:
while r > 0:
r = a%b
a = b
b = r
print("最大公約数は、"+str(a))
2つの自然数aとbについて、ユークリッド互除法を用いて最大公約数gを計算した後、積a×bを最大公約数gで割ることで、最小公倍数lを計算します。
a = 12
b = 9
r = 1
ab = a*b
if a*b == 0:
print("a,bの数値を変更して下さい。")
else:
while r > 0:
r = a%b
a = b
b = r
g = a
l = ab//g
print("最小公倍数は、"+str(l))
2つの自然数aとbについて、ユークリッド互除法を用いて最大公約数gを計算した後、積a×bを最大公約数gで割ることで、最小公倍数lを計算します。
a = 12
b = 9
r = 1
ab = a*b
if a*b == 0:
print("a,bの数値を変更して下さい。")
else:
while r > 0:
r = a%b
a = b
b = r
g = a
l = ab//g
print("最小公倍数は、"+str(l))
2つの有理数a/bとc/dの和を分数で求めます。分母と分子の最大公約数gをユークリッド互除法で計算し、約分をした形(既約分数)で答えを表示します。
※分母の最小公倍数を求める計算は長くなるので省略しています。
a = 2
b = 15
c = 3
d = 2
m = a*d+b*c
n = b*d
r = 1
if n == 0:
print("b,dの数値を変更して下さい。")
elif m == 0:
print("a/b+c/d=0")
else:
mm = m
nn = n
while r > 0:
r = m%n
m = n
n = r
mm // = m
nn // = m
print("a/b+c/d="+str(mm)+"/"+str(nn))
キーボードから入力した名前を文字nameに代入します。
print("What's your name?")
name=input()
print("My name is "+str(name))
print("Oh! "+str(name)+" .Nice to meet you!")
2つの文字aとbにキーボードから入力した数値を代入します。
aとbに行う(四則)演算を選択して計算をします。
print("aとbの値を入力して下さい。")
a = int(input("a="))
b = int(input("b="))
print("演算を選択して下さい。")
c = int(input("1.+(足し算) 2.-(引き算) 3.*(掛け算) 4./(割り算)"))
if c == 1:
c = a+b
print("a+b="+str(c))
elif c == 2:
c = a-b
print("a-b="+str(c))
elif c == 3:
c = a*b
print("a*b="+str(c))
elif c == 4:
c = a/b
print("a/b="+str(c))
else:
print("もう一度入力して下さい。")
以下のコードで、ライブラリモジュールに読み込み(インポート)、その中に含まれるランダム関数を利用できるようになります。1~10の整数の中からランダムに一つ値を返すプログラムです。
import random
a=random.randint(1,10)
print(a)
ランダム関数を利用して、整数1~3を、"グー","チョキ","パー"に置き換えて表示するプログラムです。
import random
a=random.randint(1,3)
if a==1:
print("パー")
elif a==2:
print("チョキ")
else:
print("グー")
自分の手を入力して、じゃんけんします。「勝ち」、「負け」、「あいこ」の結果を判定して、表示します。
import random #ランダム関数の読み込み
a=random.randint(1,3) #相手の手
print("じゃんけん")
print("(1,2,3のいずれかを入力して下さい。)")
b=int(input("1.(パー) 2.(チョキ) 3.(グー)\n"))
#自分の手を入力します。「\n」は、改行コードです。
if (a-b+3)%3==0:
print("あいこです。")
elif (a-b+3)%3==1:
print("あなたの負けです。")
else:
print("あなたの勝ちです。")
import math
print("Aの座標を入力して下さい。")
ax = int(input("x="))
ay = int(input("y="))
print("A("+str(ax)+","+str(ay)+")") #Aの座標
an = math.sqrt(ax*ax+ay*ay) #OAの長さ
print("OA="+str(an))
print("Bの座標を入力して下さい。")
bx = int(input("x="))
by = int(input("y="))
print("B("+str(bx)+","+str(by)+")") #Bの座標
bn = math.sqrt(bx*bx+by*by) #OBの長さ
print("OB="+str(bn))
ab = ax*bx+ay*by #OAとOBの内積
print("内積:OA・OB="+str(ab))
cosaob = ab/(an*bn) #∠OABのcos
print("cos∠AOB="+str(cosaob))
print("弧度法:"+str(math.acos(cosaob)))
print("度数法:"+str(math.acos(cosaob)/(2*math.pi)*360)+"°")
y=x^2とx軸,x=1で囲まれた部分の面積を区分求積法で求める。
nを1桁増やすと,だいたい小数点以下の3が1つ増える。(精度が1桁上がる。)?
<上から近似>
n = 100
dx = 1/n
sum = 0
for k in range(1,n+1,1):
x = k*dx
fx = x**2
sum = sum+fx*dx
print("求める面積は",sum)
<下から近似>
n = 100
dx = 1/n
sum = 0
tum = 0
for k in range(1,n+1,1):
x = k*dx
fx = x**2
sum = sum+fx*dx
t = (k-1)*dx
gx = t**2
tum = tum+gx*dx
print("求める面積Sは",sum)
print("求める面積Tは",tum)
#r人全員の誕生日が重ならない確率と、少なくとも1組は誕生日が重なる確率を求めるプログラムです。
#←シャープの記号より右側は、プログラムには関係ありません。コメント(説明)部分に使用します。
a = 1 #初期値1(=100%)
r = 17 #人数
n = 35 #365日
x = 35 #重ならない残日数
p = 1 #重なる確率(初期値は1)
for i in range(r): #forは、(r回の)繰り返しを実行しています。
a *= x/n #(重ならない残日数)/(365日)を繰り返し、r=17回かけています。
x -= 1 #xから1を引く。重ならない残日数を1日減らす。
#printは、文章を表示するときなどに使用します。
print("帰り道が重ならない確率は、"+str(a)+"です。")
print("少なくとも1組は帰り道が重なる確率は、"+str(1-a)+"です。")
#1%のガチャで、少なくとも1回はアタリが出る確率を求める。プログラムです。
#←シャープの記号より右側は、プログラムには関係ありません。コメント(説明)部分に使用します。
a = 1 #初期値1(=100%)
n = 100 #ガチャをやる回数(試行回数)
p = 99/100 #ガチャを1回やったときの、ハズレの確率
for i in range(n): #forは、(n回の)繰り返しを実行しています。
a*=p #p = 99/100 を繰り返し、n=100回かけています。
#printは、文章を表示するときなどに使用します。
print("n回とも、ハズレる確率は、"+str(a)+"です。") #
print("少なくとも、1回はアタる確率は、"+str(1-a)+"です。")
#n=100回ガチャを回して、1%のスーパーレアが実際に何枚、入手できるかシミュレーションする実験です。
#←シャープの記号より右側は、プログラムには関係ありません。コメント(説明)部分に使用します。
import random #ランダム関数を利用します。
n = 100 #n回ガチャを回します。
sr = 0 #スーパーレアの枚数です。初期値は、0枚です。
#forで、n回繰り返しガチャを回します。
for i in range(n):
randgacha = random.randint(1,100) #1から100までの整数を1つ、ランダムで決めます。
if randgacha == 1: #ランダムで決めた数字が、もし、1だったとき、アタリになります。(スーパーレアが出ました。)
sr += 1 #入手したスーパーレアの枚数を1枚増やします。
#n回で、入手できたスーパーレアの枚数を表示します。
print("スーパーレアの出た枚数は、"+str(sr)+"枚です。")
import random
n = 0 # 試行回数
allcards = ['A', 'B', 'C', 'D', 'E'] # カードの種類(5種類)
havecards = set() # 取り出したカードを記録するセット(重複を許さないため)
while len(havecards) < len(allcards): # 5種類のカードがすべて揃うまで繰り返す
n += 1
drawcard = random.choice(allcards) # ランダムにカードを1枚選ぶ
havecards.add(drawcard) # 取り出したカードをセットに追加
print(f"{n}回目: {drawcard} のカードを取り出しました。") # 取り出したカードを表示
print(f"5種類のカードをすべて取り出すまでに、{n} 回かかりました。")
n = # カードの種類(5種類)
s = 0 # 調和数列の和
ex = 0 # 期待値(平均回数)
i=1
while i in range(n+1): # 調和数列{1/n}の和を計算する。
s += 1/i
i += 1
ex = s*n
print(f"5種類のカードをすべて取り出すまでに、{ex} 回かかりました。") # 期待値を表示する。
import random
import math
a = 1000;b = 0
for i in range(1,a+1,1):
x = random.random();y = random.random()
s = math.sin(x*math.pi)
if y < s:
b = b+1
print("求める近似値は",math.pi*b/a)
(角度を弧度法に変換し、)xが0からπ/2までの間で、sinxと(sinxの近似式)xの値を比較し,誤差を計算しました。
import math
import matplotlib.pyplot as plt
a = 90
for k in range(0,a+1,1):
x = k*math.pi/180;sx=math.sin(x)
print("角度",k,"°→弧度法",x,"(rad)","正弦sin",sx,"誤差:x-sinx=",x-sx)
plt.scatter(x,x,marker = "o",c = "g")
plt.scatter(x,sx,marker = "o",c = "r")
plt.axis("equal")
plt.show()