Python基礎練習④
Pythonの問題をネットで解いたのでnoteで勉強記録として共有致します。
是非勉強の材料にしてください。
✅問題①
最大公約数を求めてください。
与えられる数字
147 105
期待する出力
21
下記画像を参照
解答コード
def Sample10():
n, m = (int(x) for x in input().split())
print(math.gcd(n,m))
Sample10()
✅問題②
次は難問です。
ランダムの数字を小さい数字から並び替える処理になります。
下記の画像を参考にしてください。
解答コード
解答例①
def Sample8():
"""解答例1"""
N = int(input())
K = list(map(int, input().split()))
for i in range(0,N):
v = K[i] # リストの0番目を取得
j = i - 1
while j >= 0 and K[j] > v:
K[j+1] = K[j]
j-= 1
K[j+1] = v
print(*K)
Sample8()
解答例②
def Sample8():
"""解答例2"""
N = int(input())
A = list(map(int, input().split()))
for i in range(1, N + 1):
A[:i] = sorted(A[:i])
print(*A)
Sample8()
複数の解答があるので抑えておきましょう。
②の方が短いので分かりやすいと思います。
説明
①for文では1からループをしてsortedを使用して並び替えています。
②*を使用することで全てのデータを表示することが出来ます。
③[:i]で先頭から全てのリストのデータを表示する。
以上になります。
この記事が気に入ったらサポートをしてみませんか?