コードアップグレードの基礎問題(Python)


6076)


入力
整数を1つ入力します.
(0 ~ 100)
しゅつりょく
ゼロからその数まで、改行して1つ印刷します.
a = int(input())
b = 0
while(a >= b):
    print(b)
    b+=1
for文ではなく、コードを書き直してみましょう.
a = int(input())
for i in range(a+1):
  print (i)
📌 for i in range(0,10):0から10回繰り返します.
📌 for i in range(a):0からa-1の数列(1回繰り返す)
📌 for i in range(a,b,c):aからb-1へのc回の増加、繰り返し(b-a)/c回
📌 i in list name:list nameの各要素をナビゲート(メタ素数を繰り返す)

6077)


入力
整数を1つ入力します.
(0 ~ 100)
しゅつりょく
1からその数まで、偶数だけ出力します.
a = int(input())
sum = 0
for i in range(a+1):
    if (i % 2 == 0):
        sum += i
print(sum)
        

6078)


入力
次から次へと文字を入力します.
しゅつりょく
英語の小文字「q」を入力した後、入力した文字を出力し続けます.
a = input()
while (a != 'q'):
    print(a)
上記のコードを書き始めたばかりですが、出力制限を超えた場合があります.
前述したように、qが入力されたときにqが出力されないという問題もある.
しかし,下図のように,条件文の先頭に必ず真の成立が必要であれば解決できる.
a = ' '
while (a != 'q'):
    a = input()
    print(a)
あるいは、以下のようにbreakで退出してもよい.
while(1): 
  a = input()
  print (a)
  if a == 'q' : break

6079)


入力
整数を1つ入力します.
しゅつりょく
1, 2, 3, 4, 5 ... 順番に加算を続け、
入力された整数以上の場合、最後に加算された整数が出力されます.
a = int(input())
sum = 0
i = 0
while (sum < a):
    i += 1
    sum += i
print(i)

6080)


入力
2つの異なるサイコロ面の個数nを入力し、mは空です.
しかし、n,mは10未満の自然数である
しゅつりょく
出現可能なサイコロの数字を一組ずつ改行し、すべて出力します.
1番目の数はnに固定され、2番目の数はmに固定され、1から昇順に出力される.
入力例
2 3
出力例
1 1
1 2
1 3
2 1
2 2
2 3
a, b = map(int, input().split())
for i in range (a):
    for j in range (b):
        print(i+1,j+1)

6081)


入力
16進数で1桁を入力します.
ただし、A~Fのみ入力します.
しゅつりょく
入力した16進数には、1~Fの順に16進数を乗じて改行出力する.
計算結果も16進数で出力します.
a = int(input(), 16)
for i in range (1, 16):
    print('%X*%X=%X' %(a, i, a*i))
    
📌入力を16進数で受信
value = int(input(), 16))

6082)


入力
30未満の整数を入力します.
(1 ~ 29)
しゅつりょく
1からその数字まで、スペース順に数字を出力します.
3または6または9を含む数字であれば、その数字の代わりに英語の大文字Xを出力します.
a = int(input())
for i in range(1, a + 1):
    if(i % 10 == 3 or i % 10 == 6 or i % 10 == 9):
        print('X', end = ' ')
    else:
        print(i, end = ' ')

6083)


入力
赤色緑波(r,g,b)の各光の種類数は空白入力である.
例えば、3 3 3は、赤緑青色光に対して0〜2色毎に3色であることを示す.
0 <= r,g,b <= 127
しゅつりょく
作成可能なrgb色の情報は昇順に並べられています(上階順、12345...abcde...、ガーナダライ・ラマ...)行きます
すべてを改行して出力し、最後にその数を出力します.
r,g,b = map(int, input().split())
count = 0
for i in range(r):
    for j in range(g):
        for k in range(b):
            print(i,j,k, sep = " ")
            count+=1
print(count)
📌
sep=""では、印刷文の出力文間に対応する内容を配置できます.つまり、区切り文字を指定できます.
📌
ただしformatを使用して出力のフォーマットを指定することもできます.
上の無理はこんなはずです.
print('{} {} {}'.format(i, j, k))
数値書式
print("{0}月{1}日".format(7,6))
出力>>>>7月6日.
フォーマットで挿入する部分{0}{1}{2}...入れる.format(値1、値2、値3)を入力すると、順番に自動的に挿入して出力します.上のコードでは,{0}は7,{1}は6を含む.
%記号を使用したformat
print("%s有%d個"%(「花」、10)
出力>>>>>10輪の花があります.

6084)


入力
h,b,c,sは空白入力である.
hは48000以下、bは32以下(ただし8の倍数)、cは5以下、sは6000以下の自然水である.
しゅつりょく
必要なストレージスペースをMB単位で出力するように変換します.
ただし、MBは小数点から1位までの精度で出力され、スペース形式で出力される.
a, b, c, d = map(int, input().split())
print('%.1f' %(a*b*c*d/8/1024/1024),'MB')

ストレージスペースはhbc*sです.(ビット単位)
8bit = 1 byte
1024byte=1KB
1024 KB = 1MB