Python100本ノック by サプー 1~10問目
はじめに
これはPythonプログラミングVTuberさプーさんが公開したPythonプログラミング100本ノックの問題と回答を記載したものです。元動画は以下になります。
1問目
int型の任意の値を「x」という変数に代入する。
文字列型の任意の値を「y」という変数に代入する。
float型の任意の値を「z」という変数に代入する。
x、y、zの値をprint関数を使って出力してください。
回答
x = 10
y = 'Hello world'
z = 1.5
print(x,y,z)
2問目
int型の100を文字列型に変換して「x」に代入する。
文字列型の「100.1」をfloat型に変換して「y」に代入する。
float型の100.0をint型に変換して「z」に代入する。
x、y、zの値と型をprint関数を使って出力してください。
回答
x = str(100)
y = float('100.1')
z = int(100.0)
print(x,type(x))
print(y,type(y))
print(z,type(z))
3問目
変数「x」に10を、変数「y」に2を代入する。
「x × y」の結果と「x ÷ y」の結果の合計を出力する。
「xのy乗」から「x ÷ yの余り」を引いた数を出力する。
回答
x = 10
y = 2
print((x * y) + (x / y)
print((x ** y) - (x % y))
4問目
変数「x」にint型の10を、変数「y」にint型の20を代入する。
+演算子を使ってxにyを加算した結果を出力してください。
xとyを文字列型に変換して+演算子を使って連結した結果を出力してください。
回答
x = 10
y = 20
print(x + y)
print(str(x) + str(y))
5問目
以下のコードがあります。
2行目と3行目の間に「xとyを足した結果を出力」というコメントを追加してください。
x = 10
y = 20
print(x + y)
回答
x = 10
y = 20
# xとyを足した結果を出力
print(x + y)
6問目
以下のコードのうち、xの計算式を折り返して複数行にして読みやすくしてください。
x = 1920 + 1080 + 4 + 5922 + 2138 + 999 + 1000 + 456
print(x)
回答
x = (1920 + 1080 + 4 + 5922 +
2138 + 999 + 1000 + 456)
print(x)
7問目
round(1.5)
round(2.5)
round(3.5)
このコードの結果がそれぞれどうなるか予測してください。
回答
コード無し。
round関数は四捨五入されて繰り上げされる。
もし、端数が0.5なら偶数になるように丸める。
すなわち、2、2、4になる。
8問目
変数「x」に100を代入する。
その後、xに100を加算した値を代入する。
最後にxの値を出力してください。
ヒント
+=など「=」の前に演算子を入れることで代入する変数の値に対して指定した演算子に応じた計算結果を代入することができる。
この記法を拡張代入演算子と呼ぶ。
回答
x = 100
x += 100
print(x)
9問目
変数「name」にあなたの名前を代入する。
変数「age」にあなたの年齢を代入する。
「私は○○です。○○歳です。」という自己紹介文をprint関数で出力してください。
回答
文字列の前に「f」をつけることで文字列のうちに{変数名}と記述すると変数の値を展開した文字列にすることができる。
name = 'ヨワモン'
age = 10
print(f'私は{name}です。{age}歳です。')
10問目
03-1111-2222という電話番号の文字列があります。
電話番号からハイフンを取り除いた文字列を出力してください。
ヒント
文字列型に定義されているreplace関数がある。構文は以下の通り。
文字列.replace(‘置換したい文字列’,’置換後の文字列’)
回答
number = '03-1111-2222'
print(number.replace('-',''))