問題1
Hello World を出力してください。
回答1
print ("Hello World")
解説・補足1
出力関数Print() を使います。
おまけ問題1.5 (input 関数)
任意の2つのAとBが与えられるとする。
(=AとBが入力される)
AとBの積が偶数か奇数か判定してください。
(=偶数の場合Evenと出力し、奇数の場合、Oddと出力する)
回答1.5
a=int(input())
b=int(input())
#(別解)a, b = map(int, input().split())
n=(a*b)%2
if n==0:
print("Even")
else:
print("odd")
解説・補足1.5
If文とmap関数を使うとうまくいきます。
このようにに書きます。 さらに論理演算子(and,or)を使って条件式を書くことで複数の条件で評価(判定)をかけることができます。 なにか例になるコードを書く。if文
if文は条件分岐をおこなうための文法です。
Pythonのif文は、一般的な他のプログラミング言語と同様に、if...elif...elseで構成されています。
if文では、条件式の結果が真(true)であるか偽(false)であるかを評価し、「もし条件式Aが真(true)ならBを実行する」という処理をおこないます。elifはC言語などにおけるelse ifに相当しますが、処理の前のインデントを入れ忘れないように注意しましょう。
if 条件式A:
条件式Aが真(true)の場合に実行する処理
elif 条件式B:
条件式Aが偽(false)で、条件式Bが真(true)の場合に実行する処理
else:
すべての条件式が偽(false)の場合に実行する処理
問題2
Hello Worldという文字列 を一文字ずつ出力してください。
回答2
for i in "hello world":
print(i)
別解あり
解説・補足2
for文を使います。
list()関数で文字列型からリスト型に変えてからfor文で回すとわかりやすいです。
リスト型も反復可能オブジェクトであります。list()関数
問題2の別解として、
最初に変数に”helloworld”を代入してからFor文でまわすということができます。
n="hello world"
for i in n:
print(i)
そのため問題2は文字列型をリスト型に変換してからFOR文でまわすこともできます。LIST関数を使うことでそれができます。(list関数は、データ型を文字列から一文字一文字に区切ったリスト型に変換することができます。)x=list("ABCDE")
print(x)
実行結果→["A","B","C","D","E"]
問題3
Hello World でoだけとばして、一個ずつ出力する
回答3
for i in "hello world":
if i!="o":
print(i)
解説・補足
・for文の中にIF文を入れることができます。
・条件式の「≠」は!で書くことができます
問題4
1〜10までをリストに格納し、それぞれの数を2乗した値を出力してください。
回答4
my_list = []
for i in range(1,11):
my_list.append(i**2)
print(my_list)
my_list = [i**2 for i in range(1,11)]
print(my_list)
解説・補足4
連番を作りたいときに、for文とrange関数を使います。
rangeは一定の値範囲の連番を作成するのを得意をする関数です。rangeは省略されて書かれることが多いですが、 rangeとよく組み合わせて使用するのがリストとFOR文なのですが、FORではよく見ますね。 開始0、終了5なのですが、終了とは未満なので4までしか出力されません。気をつけましょう。range関数の使い方
本来range(開始, 終了, 増分)の書き方で書きます。
省略するときは、開始と増分は省略して書くことができます。省略したときは、デフォルトの値を使います。開始のデフォルト値は0、増加量は1になります。
range関数について気をつけてほしいこと↓
「○終了=○未満」ということ
例えばfor x in range(5):
print(x)
#→01234
さらに、連番もしくは数列を作成してリストに入れる方法として、リスト内包表記といものがあります。
問題5
変数”number”が与えられるとする。1からnumberまで整数を判定する。が3の倍数の場合には”Fizz”、5の倍数の場合には”Buzz”、3かつ5の倍数の場合には”FizzBuzz”を、出力して下さい。
それ以外は入力した数字を、そのまま出力して下さい。
回答5
number = int(input())
for i in range(number):
if i % 15 == 0:
print( "FizzBuzz")
elif i % 3 == 0:
print("Fizz")
elif i % 5 == 0:
print("Buzz")
else:
print(i)
解説・補足5
定番の問題です。
FOR文で1からNUMBERってまでの連続数値をまわして、それぞれに対してIFで判定をかけるというコードになります。
このとき、15の倍数を一番最初にもってくるのがポイントになります。なぜなら。3の倍数に15の倍数が含まれているので、3の倍数を先に選別してしまうと、15の倍数もそこで抜かれてしまって、FIZZBUZZが出力されなくなってしまうからです。
ゼミ1の演習は以上で終了になります!お疲れ様でした!
難しかったでしょうか?
文法書を読んでも実際書いてみると以外に書けない、難しいみたいなところがあることも多いと思います。実際自分でプログラムを書くことで身につくのでどんどん気になったものは書いていってみましょう。