# float型の特性を表示
import sys
print(sys.float_info)
C:>python xxx.py
sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1)
# aとbの同一性の判定
a = int(input('整数a:'))
b = int(input('整数b:'))
print('a is b =', a is b)
C:>python xxx.py
整数a:10
整数b:5
a is b = False
# Noneと論理値(その1)
x = None
if x:
print('成立')
else:
print('不成立')
C:>python xxx.py
不成立
# Noneと論理値(その2:is演算子)
x = None
if x is None:
print('成立')
else:
print('不成立')
C:>python xxx.py
成立
# 偽とみなされる値の判定(その1)
x = 0
if x:
print('成立')
else:
print('不成立')
C:>python xxx.py
不成立
# 偽とみなされる値の判定(その2)
x = 0
if x is None:
print('成立')
else:
print('不成立')
C:>python xxx.py
不成立
# 算術演算用の組込み関数の利用例
x = float(input('実数x:'))
y = float(input('実数y:'))
z = float(input('実数z:'))
print(f'abs(x) = {abs(x)}')
print(f'bool(x) = {bool(x)}')
print(f'divmod(x, y) = {divmod(x, y)}')
print(f'max(x, y) = {max(x, y)}')
print(f'min(x, y) = {min(x, y)}')
print(f'pow(x, y) = {pow(x, y)}')
print(f'round(x, 2) = {round(x, 2)}')
print(f'round(x, 3) = {round(x, 3)}')
print(f'sum((x, y, z)) = {sum((x, y, z))}')
C:>python xxx.py
実数x:5
実数y:8
実数z:3
abs(x) = 5.0
bool(x) = True
divmod(x, y) = (0.0, 5.0)
max(x, y) = 8.0
min(x, y) = 5.0
pow(x, y) = 390625.0
round(x, 2) = 5.0
round(x, 3) = 5.0
sum((x, y, z)) = 16.0
# ビット単位の論理積・論理和・排他的論理和・反転を表示
a = int(input('正の整数a:'))
b = int(input('正の整数b:'))
w = int(input('表示桁数:'))
m = 2 ** w - 1 # w桁すべてが1の2進数に相当
print(f'a = {a:0{w}b}')
print(f'b = {b:0{w}b}')
print(f'a & b = {a & b:0{w}b}')
print(f'a | b = {a | b:0{w}b}')
print(f'a ^ b = {a ^ b:0{w}b}')
print(f'~a = {~a & m:0{w}b}')
print(f'~b = {~b & m:0{w}b}')
C:>python xxx.py
正の整数a:10
正の整数b:5
表示桁数:3
a = 1010
b = 101
a & b = 000
a | b = 1111
a ^ b = 1111
~a = 101
~b = 010
# 下位4ビットのリセット/セット/反転
a = int(input('0~255:'))
print(f'その値 = {a:08b}')
print(f'リセット = {a & 0b11110000:08b}')
print(f'セット = {a | 0b00001111:08b}')
print(f'反転 = {a ^ 0b00001111:08b}')
C:>python xxx.py
0~255:11
その値 = 00001011
リセット = 00000000
セット = 00001111
反転 = 00000100
# 整数値を左右にシフトした値を2進数で表示
x = int(input('整数:'))
n = int(input('シフトするビット数:'))
print(f'x = {x:b}')
print(f'x << n = {x << n:b}')
print(f'x >> n = {x >> n:b}')
C:>python xxx.py
整数:6
シフトするビット数:1
x = 110
x << n = 1100 x >> n = 11
# 整数値を左右にシフトした値を10進数で表示
x = int(input('整数:'))
n = int(input('シフトするビット数:'))
print(f'x << n = {x << n:d}')
print(f'x * 2のn乗 = {x * 2 ** n:d}')
print(f'x >> n = {x >> n:d}')
print(f'x // 2のn乗 = {x // 2 ** n:d}')
C:>python xxx.py
整数:10
シフトするビット数:2
x << n = 40 x * 2のn乗 = 40 x >> n = 2
x // 2のn乗 = 2
この記事は役に立ちましたか?
もし参考になりましたら、下記のボタンで教えてください。
コメント