Pythonのrandomモジュールのrandint関数を使用して乱数を生成する際に、特定の数を除外する方法について説明します。
方法1: ループを使用して除外する数を回避する 以下のコードでは、指定した数を除外するためにwhileループを使用しています。
import random
def generate_random_except(excluded_number, start, end):
number = random.randint(start, end)
while number == excluded_number:
number = random.randint(start, end)
return number
# 使用例
excluded_number = 3
start = 1
end = 10
random_number = generate_random_except(excluded_number, start, end)
print(random_number)
方法2: リストを使用して除外する数をフィルタリングする 以下のコードでは、指定した数を除外するためにリストを使用しています。
import random
def generate_random_except(excluded_number, start, end):
numbers = list(range(start, end+1))
numbers.remove(excluded_number)
return random.choice(numbers)
# 使用例
excluded_number = 3
start = 1
end = 10
random_number = generate_random_except(excluded_number, start, end)
print(random_number)
いずれの方法でも、除外する数を指定し、乱数の範囲を指定することで、指定した数を除外した乱数を生成することができます。