問題1
12 + 22 - (3 × 7) ÷ 2
12 + 22 - (3 * 7) / 2
23.5
問題2
sent = ["Wars","not","make","one","great"]を文字列に変換して出力する。
sent = ["Wars","not","make","one","great"]
" ".join(sent)
'Wars not make one great'
問題3
問題2で文字列に変換したものをリストに変換する。
sent2 = " ".join(sent)
sent2.split()
['Wars', 'not', 'make', 'one', 'great']
問題4
a = "Use the force."とb="Feel it."を結合して"Use the force. Feel it."にする。
a = "Use the force."
b="Feel it."
a + " " + b
'Use the force. Feel it.'
問題5
"You don't know the power of the darkside."の語数を出力する。
sent3 = "You don't know the power of the darkside."
len(sent3.split())
8
問題6
"But you can't stop the change, any more than you can stop the suns from setting."の単語の種類数を出力する。
sent4 = "But you can't stop the change, any more than you can stop the suns from setting."
L = sent4.split()
M = set(L)
len(M)
13
問題7
以下のデータの平均値(データの総和を個数で割る)を求めましょう。
L = [12,25,32,65,44,89,35]
L = [12,25,32,65,44,89,35]
sum(L)/len(L)
43.142857142857146
問題8
以下のリストの"C"を出力しなさい。
M = [["A","B",["C","D"],"E"],"F",["G","H"],"I"]
M = [["A","B",["C","D"],"E"],"F",["G","H"],"I"]
M[0][2][0]
'C'
問題9
以下のリストのHを出力しなさい。
M = [["A","B",["C","D"],"E"],"F",["G","H"],"I"]
M = [["A","B",["C","D"],"E"],"F",["G","H"],"I"]
M[2][1]
'H'
問題10
以下のリストからA,B,C,Dを出力しなさい。
M = [["A","B",["C","D"],"E"],"F",["G","H"],"I"]
M = [["A","B",["C","D"],"E"],"F",["G","H"],"I"]
M[0][:3]
['A', 'B', ['C', 'D']]
第2回練習問題¶
問題1
for文を使って以下の単語を複数形にしなさい。
["boy","girl", "pen","book","dish","watch","box","fox"]
L = ["boy","girl", "pen","book","dish","watch","box","fox"]
for w in L:
if w[-1] == "h" or w[-1] == "x":
a = w + "es"
else:
a = w + "s"
print(a)
boys girls pens books dishes watches boxes foxes
問題2
inputされた値が3の倍数の場合は"Yes!"、そうでない場合は"No!"と出力するコードを書きなさい。
x = input()
if int(x) % 3 == 0:
print("Yes!")
else:
print("No!")
1269 Yes!
問題3
inputされた英単語が10文字以上の場合は"Long word"と出力されるコードを書きなさい。
x = input()
if len(x) > 9:
print("Long word")
pen
問題4
fizzbuzzです。ルールは以下です。
- 1から100までの数字で
- 3で割り切れる時には"Fizz!"と表示
- 5で割り切れる時には"Buzz!と表示
- 3でも5でも割り切れる時には"Fizz! Buzz!"と表示
- それ以外の数字はそのまま表示
for文を使って出力してみましょう。
for i in range(1,101):
if i % 15 == 0:
print("Fizz! Buzz!")
elif i % 5 == 0:
print("Buzz!")
elif i % 3 == 0:
print("Fizz!")
else:
print(i)
1 2 Fizz! 4 Buzz! Fizz! 7 8 Fizz! Buzz! 11 Fizz! 13 14 Fizz! Buzz! 16 17 Fizz! 19 Buzz! Fizz! 22 23 Fizz! Buzz! 26 Fizz! 28 29 Fizz! Buzz! 31 32 Fizz! 34 Buzz! Fizz! 37 38 Fizz! Buzz! 41 Fizz! 43 44 Fizz! Buzz! 46 47 Fizz! 49 Buzz! Fizz! 52 53 Fizz! Buzz! 56 Fizz! 58 59 Fizz! Buzz! 61 62 Fizz! 64 Buzz! Fizz! 67 68 Fizz! Buzz! 71 Fizz! 73 74 Fizz! Buzz! 76 77 Fizz! 79 Buzz! Fizz! 82 83 Fizz! Buzz! 86 Fizz! 88 89 Fizz! Buzz! 91 92 Fizz! 94 Buzz! Fizz! 97 98 Fizz! Buzz!
問題5
任意の整数に関して、その値が偶数の場合は2で割り、奇数の場合は3をかけて1を足すという操作を繰り返すと必ず1になります(コラッツの問題)。
例1
13 -> 40 -> 20 -> 10 -> 5 -> 16 -> 8 -> 4 -> 2 -> 1
例2
22 -> 11 -> 34 -> 17 -> 52 -> 26 -> 13 -> 40 -> 20 -> 10 -> 5 -> 16 -> 8 -> 4 -> 2 -> 1
whileとifを用いて任意の整数を入力して、この過程を出力してみましょう。
x = input()
x = int(x)
while x != 1:
if x % 2 == 0:
y = x//2
else:
y = x * 3 + 1
print(y)
x = y
13 40 20 10 5 16 8 4 2 1
問題6
以下のリスト(L)の各要素を10で割ってリストMに保存しなさい。要素が数値ではない場合、リストMには"X"を追加しなさい。
L = [12,100,90,88,45,"32","25",12,"33",90,100]
L = [12,100,90,88,45,"32","25",12,"33",90,100]
M = []
for i in L:
try:
M.append(i/10)
except:
M.append("X")
M
[1.2, 10.0, 9.0, 8.8, 4.5, 'X', 'X', 1.2, 'X', 9.0, 10.0]