# 相同數量的母音
```python=
st = input()
o = ["a", "A", "e", "E", "i", "I", "o", "O", "u", "U"]
if(len([i for i in st[0:len(st)//2] if i in o]) == len([i for i in st[len(st)//2::] if i in o])): print(True)
else: print(False)
```
# 將英文字母轉為小寫
```python=
print(input().lower())
```
# 交錯合併字串
```python=
st1, st2 = input(), input()
st3 = ""
if len(st1) == len(st2):
for i in range(len(st1)):
st3 += st1[i]
st3 += st2[i]
else:
if len(st1) > len(st2):
st1 ,st2 = st2, st1
for i in range(len(st1)):
st3 += st2[i]
st3 += st1[i]
else:
for i in range(len(st1)):
st3 += st1[i]
st3 += st2[i]
st3 += st2[len(st1)::]
print(st3)
```
# 兩個字串是否相同
```python=
st1, st2 = [i for i in input() if i != " "], [i for i in input() if i != " "]
if st1 == st2: print(True)
else: print(False)
```
# 字串解碼
```python=
st = input()
a = []
flag = st.count("#")
t = 0
for i in range(len(st)):
i += t
if i >= len(st): break
if st[i] == '#':
continue
if flag:
if st[i+2] == '#':
a.append(int(st[i:i+2]))
t += 2
flag -= 1
else:
a.append(int(st[i]))
else: a.append(int(st[i]))
print("".join([chr(i+96) for i in a]))
```
# 以遞升及遞減重組字串
```python=
a = [0]*(26)
st = input()
for i in st: a[ord(i)-97] += 1
st2 = ""
flag = True
while flag:
flag = False
for i in range(len(a)):
if a[i]:
flag = True
st2 += chr(i+97)
a[i] -= 1
for i in range(len(a)-1, -1, -1):
if a[i]:
flag = True
st2 += chr(i+97)
a[i] -= 1
print(st2)
```
# 走回原位的機器人
```python=
st = list(input())
xy = [0, 0]
for i in st:
if i == "U":
xy[1] += 1
elif i == "D":
xy[1] -= 1
elif i == "L":
xy[0] -= 1
elif i == "R":
xy[0] += 1
if xy[0] == xy[1] == 0:
print(True)
else:
print(False)
```
# 最多層的小括號
```python=
st = list(input())
t = 0
ans = 0
for i in st:
if i == "(":
t += 1
elif i == ")":
t -= 1
ans = max(ans, t)
print(ans)
```
# 判斷輸入的字串是否「全字母」
```python=
a = [0]*26
st = list(input())
for i in st:
a[ord(i)-97] = 1
if a.count(0):
print(False)
else:
print(True)
```
# 分解句子
```python=
st = input().split()
n = int(input())
print(" ".join(st[0:n]))
```
# 把所有的數字改成英文
```python=
st = input()
st2 = ""
for i in range(len(st)):
if st[i].isdigit():
st2 += chr(ord(st[i-1])+int(st[i]))
else:
st2 += st[i]
print(st2)
```
# 指定範圍間的「可自我整除」之數
```python=
num1 = int(input())
num2 = int(input())
ans = []
for i in range(num1, num2+1):
for j in list(str(i)):
if int(j) == 0:
break
if i%int(j):
break
else:
ans.append(i)
print(ans)
```
# 計算競賽總場次
```python=
n = int(input())
ans = 0
while n != 1:
ans += (n+1)//2
n //= 2
print(ans)
```
# 鍵盤的一個橫列
```python=
key = ['qwertyuiop', 'asdfghjkl', 'zxcvbnm']
st = [i.lower() for i in input().split()]
ans = 0
for i in st:
temp = 0
for j in range(3):
if i[0] in key[j]:
temp = j
for j in range(1, len(i)):
if i[j] not in key[temp]:
break
else:
ans += 1
print(ans)
```
# 反轉句子中的單字
```python=
print(*[i[::-1] for i in input().split()])
```
# 反轉字串
```python=
print(input()[::-1])
```
# 字串間共同使用的字母
```python=
st = input().split()
key = [[0]*26 for _ in range(len(st))]
for i in range(len(st)):
for j in st[i]:
key[i][ord(j)-97] += 1
ans = []
for j in range(26):
for i in range(len(st)):
if key[i][j] == 0:
break
else:
for _ in range(min([key[i][j] for i in range(len(st))])):
ans.append(chr(j+97))
print("".join(ans))
```
# 字串中的每個位置到指定文字的距離
```python=
st = list(input())
n = input()
target = [i for i in range(len(st)) if st[i] == n]
ans = [100001]*(len(st))
for i in target:
for j in range(len(st)):
ans[j] = min(ans[j], abs(i-j))
print(ans)
```
# 兩字串的本質比較
```python=
st1 = list(input())
st2 = list(input())
d = {}
if len(st1) != len(st2):
print(False)
else:
for i in range(len(st1)):
if st1[i] in d:
d[st1[i]] += 1
else:
d[st1[i]] = 1
if st2[i] in d:
d[st2[i]] += 1
else:
d[st2[i]] = 1
for i in d:
if d[i]%2:
print(False)
break
else:
print(True)
```
# 兩個數字的漢明距離
```python=
num1 = bin(int(input()))[2::]
num2 = bin(int(input()))[2::]
ans = 0
while len(num1) < len(num2):
num1 = '0'+num1
while len(num2) < len(num1):
num2 = '0'+num2
for i in range(len(num1)):
if num1[i] != num2[i]:
ans += 1
print(ans)
```
# 重組句子中的單字
```python=
st = input().split()
st.sort(key=lambda x: int(x[-1]))
for i in st:
print(i[0:-1], end=" ")
```
# 持續刪除相鄰相同者
```python=
st = input()
stack = []
for i in st:
if stack and stack[-1] == i:
stack.pop()
else:
stack.append(i)
print("".join(stack))
```
# 歸零的步驟數
```python=
num = int(input())
step = 0
while num:
if num%2:
num -= 1
else:
num //= 2
step += 1
print(step)
```
# 計算不重複數字的總和
```python=
a = [0]*1000
ar = [int(i) for i in input().split()]
for i in ar:
a[i] += 1
print(sum([i for i in range(1000) if a[i] == 1]))
```
# 排錯順序的數字個數
```python=
st = [int(i) for i in input().split()]
st1 = sorted(st)
ans = 0
for i in range(len(st)):
if st[i] != st1[i]:
ans += 1
print(ans)
```
# 成對資料的次大值之和
```python=
ar = sorted([int(i) for i in input().split()], reverse = True)
ans = 0
for i in range(0, len(ar), 2):
ans += min(ar[i], ar[i+1])
print(ans)
```
# 找出出現一半次數的數字
```python=
ar = [int(i) for i in input().split()]
n = len(ar)//2
for i in set(ar):
if ar.count(i) == n:
print(i)
break
```
# 出現次數是否都不同
```python=
ar = [int(i) for i in input().split()]
num = set(ar)
ans = set([ar.count(i) for i in num])
print(True if len(num) == len(ans) else False)
```
# 找出最高高度
```python=
ans, temp = 0, 0
ar = [int(i) for i in input().split()]
for i in ar:
temp += i
ans = max(ans, temp)
print(ans)
```
# 加總奇數個數內容的總和
```python=
ar = [int(i) for i in input().split()]
ans = 0
for i in range(0, len(ar), 2):
for j in range(len(ar)):
if j+i >= len(ar):
break
ans += sum(ar[j:j+i+1])
print(ans)
```
# 以遞升及遞減重組字串
```python=
ar = [int(i) for i in input().split()]
for i in range(len(ar)):
temp = 1
while i+temp < len(ar):
if ar[i] < ar[i+temp]:
temp += 1
else:
ar[i] = ar[i]-ar[i+temp]
break
print(ar)
```
# 最大值及次大值的乘積
```python=
ar = [int(i) for i in input().split()]
f, s = 0, 0
for i in ar:
if i > f:
s = f
f = i
elif i > s:
s = i
print((f-1)*(s-1))
```
# 右邊的最大值
```python=
ar = [int(i) for i in input().split()]
n = len(ar)
for i in range(n-1):
ar[i] = max(ar[i+1:n])
ar[-1] = -1
print(ar)
```
---
# 寫完la