用Python的递归求得9连环的解法

 1 def xia(n):
 2     if n == 1:
 3         print('1↓')
 4     elif n == 2:
 5         print('1↓ 2↓')
 6     else:
 7         xia(n-2)
 8         print('%d↓' % n)
 9         shang(n-2)
10         xia(n-1)
11 
12 def shang(n):
13     if n == 1:
14         print('1↑')
15     elif n == 2:
16         print('1↑ 2↑')
17     else:
18         shang(n-1)
19         xia(n-2)
20         print('%d↑' % n)
21         shang(n-2)
22 
23 mood_choose = input('请选择上连环还是下连环:s/x')
24 num_game = int(input('请输入连环数(正整数),建议不超过11,或输其他内容退出游戏'))
25 while num_game >= 1 :
26     if mood_choose == 's':
27         shang(num_game)
28         mood_choose = input('请选择上连环还是下连环:s/x')
29         num_game = int(input('请输入连环数(正整数),建议不超过11,或输其他内容退出游戏'))
30     elif mood_choose == 'x':
31         xia(num_game)
32         mood_choose = input('请选择上连环还是下连环:s/x')
33         num_game = int(input('请输入连环数(正整数),建议不超过11,或输其他内容退出游戏'))
34     else:
35         mood_choose = input('输入错误,请重新选择上连环还是下连环:s/x')
36         num_game = int(input('请输入连环数(正整数),建议不超过11,或输入其他内容退出游戏'))
37         continue
38 print('游戏结束,谢谢运行')

 

posted on 2020-02-18 21:05  李卡西  阅读(548)  评论(1)    收藏  举报

导航