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まで変化します。
チャレンジ
簡単プログラムは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ループを書いてください
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: GDScriptオンラインコンパイラ