pythonのプログラミング学習1日目の記録
checkiO
やったこと(Elementary)
Number Length
def number_length(a: int) -> int:
return len(str(a))
if __name__ == '__main__':
print("Example:")
print(number_length(10))
# These "asserts" are used for self-checking and not for an auto-testing
assert number_length(10) == 2
assert number_length(0) == 1
assert number_length(4) == 1
assert number_length(44) == 2
print("Coding complete? Click 'Check' to earn cool rewards!")
End Zeros
- rstripの使い方(文字列の右側の指定文字を除外する)
def end_zeros(num: int) -> int:
return len(str(num)) - len(str(num).rstrip('0'))
if __name__ == '__main__':
print("Example:")
print(end_zeros(0))
# These "asserts" are used for self-checking and not for an auto-testing
assert end_zeros(0) == 1
assert end_zeros(1) == 0
assert end_zeros(10) == 1
assert end_zeros(101) == 0
assert end_zeros(245) == 0
assert end_zeros(100100) == 2
print("Coding complete? Click 'Check' to earn cool rewards!")
Backward String
def backward_string(val: str) -> str:
return val[::-1]
if __name__ == '__main__':
print("Example:")
print(backward_string('val'))
# These "asserts" are used for self-checking and not for an auto-testing
assert backward_string('val') == 'lav'
assert backward_string('') == ''
assert backward_string('ohho') == 'ohho'
assert backward_string('123456789') == '987654321'
print("Coding complete? Click 'Check' to earn cool rewards!")
Remove All Before
from typing import Iterable
def remove_all_before(items: list, border: int) -> Iterable:
if border in items:
a = items.index(border)
return items[a:]
else:
return items
if __name__ == '__main__':
print("Example:")
print(list(remove_all_before([1, 2, 3, 4, 5], 3)))
# These "asserts" are used for self-checking and not for an auto-testing
assert list(remove_all_before([1, 2, 3, 4, 5], 3)) == [3, 4, 5]
assert list(remove_all_before([1, 1, 2, 2, 3, 3], 2)) == [2, 2, 3, 3]
assert list(remove_all_before([1, 1, 2, 4, 2, 3, 4], 2)) == [2, 4, 2, 3, 4]
assert list(remove_all_before([1, 1, 5, 6, 7], 2)) == [1, 1, 5, 6, 7]
assert list(remove_all_before([], 0)) == []
assert list(remove_all_before([7, 7, 7, 7, 7, 7, 7, 7, 7], 7)) == [7, 7, 7, 7, 7, 7, 7, 7, 7]
print("Coding complete? Click 'Check' to earn cool rewards!")
All Upper I
- 数字かどうかを判断(isdigit())
- 大文字かどうかを判断(isupper())
def is_all_upper(text: str) -> bool:
if (text.replace(' ','').isdigit()) or ( not text.replace(' ','')):
return True
else:
return text.isupper()
if __name__ == '__main__':
print("Example:")
print(is_all_upper('ALL UPPER'))
# These "asserts" are used for self-checking and not for an auto-testing
assert is_all_upper('ALL UPPER') == True
assert is_all_upper('all lower') == False
assert is_all_upper('mixed UPPER and lower') == False
assert is_all_upper('') == True
print("Coding complete? Click 'Check' to earn cool rewards!")
Replace First
- 末尾に要素を追加する(append)
- 文字を切り取る(pop)
from typing import Iterable
def replace_first(items: list) -> Iterable:
if items:
items.append(items.pop(0))
return items
if __name__ == '__main__':
print("Example:")
print(list(replace_first([1, 2, 3, 4])))
# These "asserts" are used for self-checking and not for an auto-testing
assert list(replace_first([1, 2, 3, 4])) == [2, 3, 4, 1]
assert list(replace_first([1])) == [1]
assert list(replace_first([])) == []
print("Coding complete? Click 'Check' to earn cool rewards!")
Max Digit
- 文字列の要素をリストに保存(list())
- 最大値を取得(max)
def max_digit(number: int) -> int:
print(max(list(str(number))))
return int(max(list(str(number))))
if __name__ == '__main__':
print("Example:")
print(max_digit(0))
# These "asserts" are used for self-checking and not for an auto-testing
assert max_digit(0) == 0
assert max_digit(52) == 5
assert max_digit(634) == 6
assert max_digit(1) == 1
assert max_digit(10000) == 1
print("Coding complete? Click 'Check' to earn cool rewards!")