添加一个if条件使num会从1迭代到11,字符串10和11会分别被索引代替def add_madlibs(story, user_data): num = 1 for index in user_data: story = story.replace(str(num), index) num += 1 return story
时间: 2024-03-27 15:41:00 浏览: 76
可以尝试这样修改代码:
```
def add_madlibs(story, user_data):
for num in range(1, 12):
if num == 10:
story = story[:story.find(str(num))] + user_data[num-1] + story[story.find(str(num))+2:]
elif num == 11:
story = story[:story.find(str(num))] + user_data[num-1] + story[story.find(str(num))+2:]
else:
story = story.replace(str(num), user_data[num-1])
return story
```
这样修改后,num会从1迭代到11,当num为10或11时,会使用字符串切片的方式将原字符串中对应的数字替换成用户输入的数据。其他情况下,还是使用replace函数进行替换。注意,这里需要将num-1作为索引来获取对应的用户输入数据。
阅读全文