增加一段代码,要求成语接龙出题时不出接不上的
时间: 2023-07-03 15:28:25 浏览: 164
好的,以下是一个简单的成语接龙代码,其中添加了判断接龙是否合法的功能:
```python
import random
idioms = ['一马当先', '九牛二虎之力', '画龙点睛', '四面楚歌', '金玉满堂', '珠光宝气', '独孤求败', '龙飞凤舞', '卧虎藏龙', '虎头蛇尾', '井底之蛙', '鹤立鸡群', '鸡犬不宁', '狐假虎威', '亡羊补牢']
def is_valid(idiom1, idiom2):
if idiom1[-1] != idiom2[0]:
return False
if idiom2 in used_idioms:
return False
return True
used_idioms = []
last_idiom = None
while True:
if last_idiom is None:
idiom = random.choice(idioms)
print('AI:', idiom)
last_idiom = idiom
used_idioms.append(idiom)
else:
idiom = input('你: ')
if is_valid(last_idiom, idiom):
print('AI:', idiom)
last_idiom = idiom
used_idioms.append(idiom)
else:
print('AI: 你输了,你的成语不符合规则!')
break
```
在这个代码中,新增了一个函数 `is_valid`,用于判断当前输入的成语是否符合接龙规则。它的实现很简单,只需要判断上一个成语的最后一个字和当前成语的第一个字是否相同,以及当前成语是否已经被使用过即可。如果不符合规则,则输出一个提示信息并结束程序。
阅读全文