以前Kotlinで作ったDog_to_Headのpythonバージョンです。
AndroidスマホのPyroid3で動かすために作りました。GUIつくるのめんどくさかったのでCUIのまま使ってください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
def dog_to_head(heads ,dogs , current_dog ,target_dog): # ヘッド更新回数:初期化 rounds = 0 while True: # 現在ドッグ番号が目標ドッグ番号よりも大きい場合は ヘッドを回転させても現在ドッグ番号が増えて離れていってしまうだけ。 # 対策:現在ドッグ番号が、ドッグ数を超えた場合、 #現在ドッグ番号からドッグ数を引き算して、ドッグ数を超えないように都度修正する。 if current_dog > dogs: current_dog -= dogs # ヘッド更新回数増加により更新された現在ドッグ番号が一致したとき、ループから抜ける if current_dog == target_dog: break # ヘッド更新回数をカウントアップ rounds += 1 # ヘッド回数更新による現在ドッグ番号の更新 current_dog += heads print(rounds, current_dog, target_dog) # 結果を出力する print(f"ヘッドをあと {rounds} 回転 させる必要があります。") if __name__ == '__main__': """ heads = 12 # ヘッド数 dogs = 223 # ドッグ数 current_dog = 18 # 現在のドッグ番号 target_dog = 17 # ヘッド更新後、目標とするドッグ番号 """ heads = int(input('ヘッド数 12: ')) dogs = int(input('ドッグ数 223: ')) target_dog = int(input('ヘッド更新後、目標とするドッグ番号 17: ')) current_dog = int(input('現在のドッグ番号 : ')) dog_to_head(heads, dogs, current_dog, target_dog) |
The following two tabs change content below.
Keita N
最新記事 by Keita N (全て見る)
- 2024/1/13 ビットコインETFの取引開始:新たな時代の幕開け - 2024年1月13日
- 2024/1/5 日本ビジネスにおける変革の必要性とその方向性 - 2024年1月6日
- 2024/1/3 アメリカ債権ETFの見通しと最新動向 - 2024年1月3日