python题库 No.63 重名了呀!

令人困惑的事情,他们到底和多少人重名呢?
names = ["馨予","予曦","雨绮","雨馨","歆艺","艺馨","艺兴","韶涵","含韵","雨涵","雨生"]
请你找出名字中有相同字的,并输出结果。输出样例:
馨予 予曦
馨予 雨馨
馨予 艺馨
雨绮 雨馨
雨绮 雨涵
雨绮 雨生
雨馨 艺馨
雨馨 雨涵
雨馨 雨生
歆艺 艺馨
歆艺 艺兴
艺馨 艺兴
韶涵 雨涵
雨涵 雨生

然后计算"雨绮"与多少人有相同字,同样输出结果。

标准答案:
image

我的答案是:

names = ["馨予","予曦","雨绮","雨馨","歆艺","艺馨","艺兴","韶涵","含韵","雨涵","雨生"]

num_yuqi = 0
for i in range(len(names)):
  for j in range(i+1, len(names)):
    if names[i][0] in names[j]:
      print(names[i], names[j])
      if names[i] == "雨绮":
        num_yuqi = num_yuqi + 1
    elif names[i][1] in names[j]:
      print(names[i], names[j])
      if names[j] == "雨绮":
        num_yuqi = num_yuqi + 1    


print(num_yuqi)

点评:
结果一致 但标准答案通用性更好,名字改成三个字也可以适配。复用性更佳。

posted @ 2026-04-30 17:53  点影成金  阅读(8)  评论(0)    收藏  举报