You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python动漫推荐算法Bug:循环中条件判断语句失效求助

动漫推荐算法条件判断错误修复方案

你的问题根源在于条件判断的逻辑写法错误:原代码里的if r1 == 'M' or 'm'等价于(r1 == 'M') or ('m'),而非空字符串'm'在布尔判断中会被视为True,导致第一个条件永远成立——不管用户输入什么,程序都会进入动漫电影的分支;调整分支顺序后同理,第一个分支的条件会永远触发。

修复方法有两种:

  • 方法一:完整写出每个等值判断条件
  • 方法二:将输入转为统一大小写后再判断,简化代码

修复后的代码示例:

方法一:

if r1 == 'M' or r1 == 'm':
    r1 = animemovies
    break
elif r1 == 'S' or r1 == 's':
    r1 = animeseries
    break
elif r1 == 'O' or r1 == 'o':
    r1 = animeother
    break
else:
    print('NANI!??\nINVALID INPUT!!!\nBAKA!')
    continue
lis = r1[r1['genre'].isin([r2])]...  

方法二(更简洁):

r1_lower = r1.lower()
if r1_lower == 'm':
    r1 = animemovies
    break
elif r1_lower == 's':
    r1 = animeseries
    break
elif r1_lower == 'o':
    r1 = animeother
    break
else:
    print('NANI!??\nINVALID INPUT!!!\nBAKA!')
    continue
lis = r1[r1['genre'].isin([r2])]...  

修改后,程序就能根据用户输入正确匹配对应的数据源了。

内容的提问来源于stack exchange,提问作者Rick Sky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 08:24:53