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

21.1 LAB:句子单词差异对比程序报错排查求助

问题:找出两个句子的单词差异

任务要求

编写程序找出两个句子的单词差异。输入第一行是第一个句子,第二行是第二个句子,假设两句单词数量相同。程序需逐行输出不同的单词对。

示例输入

Smaller cars get better gas mileage
Tiny cars get great fuel economy

示例输出

Smaller Tiny
better great
gas fuel
mileage economy

提示:将每行输入存储为字符串列表。


用户编写的代码

s1 = input() 
s2 = input()

w1 = s1.split() 
w2 = s2.split()  

for i in len(w1):
    if (w1[i] != w2[i]):
        print(w1[i],w2[i])   

报错信息

Traceback (most recent call last):
  File "main.py", line 7, in <module>
    for i in len(w1):
TypeError: 'int' object is not iterable

问题分析与修复方案

报错原因:len(w1)返回的是一个整数(单词列表的长度),而for循环只能遍历可迭代对象,不能直接遍历整数。

修复后的代码(索引遍历版)

s1 = input() 
s2 = input()

w1 = s1.split() 
w2 = s2.split()  

# 用range生成索引序列,遍历每个位置的索引
for i in range(len(w1)):
    if w1[i] != w2[i]:
        print(w1[i], w2[i])   

更简洁的写法(直接遍历元素)

用zip同时配对两个列表的元素,无需手动处理索引:

s1 = input() 
s2 = input()

w1 = s1.split() 
w2 = s2.split()  

for word1, word2 in zip(w1, w2):
    if word1 != word2:
        print(word1, word2)

以上两种写法都能正确输出不同的单词对,符合题目要求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 17:38:26