Menu
CoddyTech

range関数

CoddyのGDScriptジャーニー「基礎」セクションの一部。レッスン 48/92。

range()には、1つ、2つ、または3つの数値を指定できます:

  • range(end):0からendまで
  • range(start, end):startからendまで
  • range(start, end, step):startからendまで、毎回stepずつ進みます

3つすべてにおいて、endは含まれません。stepは、次の数を得るために加える量です。これは10未満の奇数を出力します。

for i in range(1, 10, 2):
	print(i)
1
3
5
7
9

負のステップでは逆順に数えます。その場合、開始値は終了値より大きくなければなりません。これは10から1までカウントダウンします:

for i in range(10, 0, -1):
	print(i)

終点は引き続き含まれないため、ループは 1 で停止します。range(20, 9, -2) の場合、数値は 20、18、16、14、12、10 です。10 は 9 より大きいため、含まれます。

開始値がすでに終了値を過ぎている場合、たとえば range(1, 5, -1) のように、範囲は空になり、ループは実行されません。

GDScriptでは、inの後に数字を1つだけ書くこともできます。for i in 3:はfor i in range(3):と同じように動作し、iは0から2まで変化します。

challenge icon

チャレンジ

簡単

プログラムは3つの整数、start、end、stepを読み取ります。

forループとrange(start, end, step)を使って、その範囲の各数値を1行に1つずつ出力します。

入力が1、10、2の場合、出力は次のとおりです。

1
3
5
7
9

ステップは負の値でもかまいません。10、0、-3の場合は、10、7、4、1を出力します。

自分で試してみよう

extends Node

func _ready():
	var start := int(OS.read_string_from_stdin())
	var end := int(OS.read_string_from_stdin())
	var step := int(OS.read_string_from_stdin())
	# ここにforループを書いてください
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: GDScriptオンラインコンパイラ