Qiita初投稿!
Bランクレベルアップメニューを解いていきます。
整数の足し算
a b を足し算
input a b
output a + b
n = input()
a = 0
for i in n.split():
a += int(i)
print(a)
for分の range のところに .split() を入れられると思わなかった。
文字の長さ
word = input()
print(len(word))
一文字目だけ出力
word = input()
print(word[0])
大文字に変換
word = input()
print(word.upper())
関数とメソッドの違いがわからない…
upper(word) ではだめな理由が…
print() とか len() が関数
変数.join() とか リスト.append() とか .(ドット)がつくのがメソッドみたい
(例外はあるようです)
AからBの数を出力
n = input().split()
a = int(n[0])
b = int(n[1])
for i in range(a,b+1):
print(i)
範囲内を大文字
入力例
5 8
text text text
問題
5文字目から8文字目まで大文字に変換
期待される出力
text TEXt text
難しくて解けなかった…
回答を見ながらコードを修正
n = input().split()
p = input()
print(p[0:int(n[0]) - 1],end="")
print(p[int(n[0]) - 1:int(n[1])].upper(),end="")
print(p[int(n[1]):])
3回に分けてprintするのが意外とアナログで思いつかなかった。
(例)文字列とかリスト[5 : 8] コロンで範囲指定できるの、習ったかな…
完全に忘れてたか、知らなかった。
リストの出力
li = ["Nara", "Shiga", "Hokkaido", "Chiba"]
for i in range(4):
print(li[i])
一文字ずつ出力
word = input()
length = int(len(word))
for i in range(length):
print(word[i])
文字数を変数にしてfor文で出力しました。
word = input()
for i in word:
print(i)
解答見たら、もっと簡単にコーディングできたみたいでした
文字の重複をカウント
入力例
a
aaaabbbbcccc
問題
2行目の入力に1行目の文字が何文字含まれているか数える
期待される出力
4
number = input()
string = input()
count = 0
for i in string:
if i == number:
count += 1
print(count)
答え見ずに解けた!うれしい!
逆に解答が
len関数で長さを測って…
変数を駆使していてよくわからなかった…
n文字目とn+1文字目を出力
※ n の数が文字列より大きい場合は何も出力しない
num = int(input())
word = input()
if num < int(len(word)):
print(word[num - 1] + " " + word[num])
これも答え見ずに解けて嬉しかったです!
文字の重複カウント
問題
1行目の文字列 a が、2行目の文字列 b に何回現れるかを出力
入力例
AA
AAAaaaaAA
出力
3
key = input()
string = input()
count = 0
for i in range(len(string) - len(key) + 1): #ここが謎 1文字だったら±0 それ以上は - になる
word = string[i : i + len(key)] # string[keyの長さ分]を変数に代入
if word == key: # ループ中に key と word が同じなったとき+1
count += 1
print(count)
難しくて全然わからなかった
答え見てもわからないところがいっぱい…
# 上下省略
for i in range(len(string)): #まさかのこれでも正解だった
解答の詳細を聞きたい!
リストの2番目だけ出力
count = int(input())
for i in range(count):
print(input().split()[1])
解答見て単純化したコード
split()からいきなり[1]できるとは驚いた
ソートして出力
入力例
3(数字何個か)
2 3 1
出力
1
2
3
n = int(input())
string = input().split()
li = []
for i in string:
li.append(int(i))
li.sort()
for i in range(n):
print(li[i])
答え見ちゃったー
ソート関数しってたような、しらなかったような…
文字と整数の組のソート
入力例
3
G 0
S 3
E -2
出力
E
G
S
n = int(input())
dic = {} # 辞書
for i in range(n):
parts = input().split()
dic[int(parts[1])] = parts[0] # 辞書のキーに代入
dic = sorted(dic.items())
for i in dic:
print(i[1])
急にめちゃくちゃ難しくなった気がする
答えみても理解が追い付かない…
辞書のキーに代入した後の出力
{1: 'A', 2: 'B'}
辞書復習しないと
アルファベット探し
問題
入力1行目X 入力2行目Y X~Yの間に入力3行目Cが
含まれていたら true を出力
なければ false を出力
入力例
A
F
D
出力
true
start = input()
end = input()
target = input()
startNum = 1
endNum = 1
targetNum = 1
result = "false"
li = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]
for i in li:
if i == start:
break
else:
startNum += 1
for i in li:
if i == end:
break
else:
endNum += 1
for i in li:
if i == target:
break
else:
targetNum += 1
if startNum <= targetNum <= endNum:
result = "true"
print(result)
自力で解けて嬉しい!
有料プラン抜けたので、Fainal問題だけ解いていきますw
随時追記しています