python必会题目解析第四天

目录

一.比赛对手

二.门牌制作

三.生日蜡烛



一.比赛对手

题目两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

a=set(["x","y","z"])
b=set(["x","y","z"])
c=set(["x","y","z"])
c-=set(["x","z"])
a=set(["x"])
for i in a:
  for j in b:
    for k in c:
        if len(set((i,j,k))) == 3 :
          print("a:{},b:{},c:{}".format(i,j,k))
  1. 初始化集合a、b和c为包含"x"、"y"和"z"的集合。
  2. 从集合c中移除"x"和"z"。
  3. 将集合a设置为只包含"x"的集合。
  4. 使用三层嵌套循环遍历集合a、b和c的所有可能组合。
  5. 如果找到一个组合使得这三个元素互不相同(即集合的长度为3),则输出这个组合。


二.门牌制作

题目:

小蓝要为一条街的住户制作门牌号。

这条街一共有 2020 位住户,门牌号从 1 到 2020 编号。

小蓝制作门牌的方法是先制作 0 到 9 这几个数字字符,最后根据需要将字符粘贴到门牌上,

例如门牌 1017 需要依次粘贴字符 1、0、1、7,即需要 1 个字符 0,2 个字符 1,1 个字符 7。

请问要制作所有的 1 到 2020 号门牌,总共需要多少个字符 2?

lst=[]
for i in range(1,2021):
  s=str(i).count("2")
  lst.append(s)
print(sum(lst))
  1. 首先创建一个空列表lst=[],用于存储每个整数中数字2出现的次数。
  2. 使用for循环遍历从1到2020的整数。在每次循环中,执行以下操作:
    • 将当前整数转换为字符串str(i)
    • 使用count()方法计算字符串中数字2出现的次数,并将结果存储在变量s中。
    • s添加到列表lst中。
  3. 在循环结束后,使用sum()函数计算列表lst中所有元素的和,并打印结果。


三.生日蜡烛

题目:某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。 现在算起来,他一吹熄了236根蜡烛

请问,他从多少岁开始过生日party的?

for i in range(1,101):
  for j in range(1,101):
    sum=i+j
    if sum==236:
      print(i)
      break
print("他是从{}岁开始过生日的".format(i))

内容解析

第 1 行:for i in range(1,101): 定义了一个 for 循环,从数字 1 开始循环到 100(不包括 100),每次循环变量 i 自增 1。

第 2 行:for j in range(1,101): 定义了另一个 for 循环,从数字 1 开始循环到 100(不包括 100),每次循环变量 j 自增 1。

第 3 行:sum = i + j 计算变量 i 和 j 的和,并将结果赋值给变量 sum

第 4 行:if sum == 236: 判断变量 sum 是否等于 236。

第 5 行:print(i) 如果变量 sum 等于 236,则打印变量 i 的值并退出内部循环。

第 6 行:break 退出内部循环。

第 7 行:print("他是从{}岁开始过生日的".format(i)) 在外部循环结束后,打印字符串 "他是从{}岁开始过生日的",其中 {} 表示一个占位符,将被变量 i 的值替换。

因为外部循环和内部循环的变量都是从 1 开始循环的,所以当 i 和 j 的和等于 236 时,i 就是从多少岁开始过生日的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值