鱼C论坛

 找回密码
 立即注册
查看: 1659|回复: 10

[已解决]如何实现满足多个条件中的4个,则执行之后的语句

[复制链接]
发表于 2021-8-22 20:08:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
想要写一个代码,输入一段文本,并给出10个匹配条件,如果该文本满足其中4个以上,则输出该段文本。
不知道要怎么实现,用if函数的话只有and和or,我不知道有什么方法可以实现以上功能,想请教各位大佬
最佳答案
2021-8-22 21:01:26
把逻辑运算相加,True为1, False为0,如果等于等于4,就符合条件。例如
  1. >>> a = 3
  2. >>> b = 4
  3. >>> c = 5
  4. >>> (a > 4) + (b < 5) + (c ==5)
  5. 2
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-8-22 20:09:36 From FishC Mobile | 显示全部楼层
给个例子
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-22 20:30:33 | 显示全部楼层
嵌套if
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-22 20:32:01 | 显示全部楼层
  1. if 条件一:
  2.     if 条件二:
  3.         if 条件三:
  4.             if xxx:
  5.                 .....
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-22 20:38:05 | 显示全部楼层

比如,“12423541212412232141209KJSJHDKASDIH一二三四五六七八九十”,“1242354121241223KJSJHDKASDIH一二三四五六七八九十”

如果其中含有“1,2,3,4,5,6,7,8,9”中5个及以上的值,则把这个字符串输出
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-22 20:40:13 | 显示全部楼层

这样写的话,那不是排列组合无数朵的情况吗....
比如,1~9九个数字,含有其中四个,则输出
那不是要1234,1235,1236,1237,1238。。。。每种情况都要写1个if嵌套
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-22 20:57:40 | 显示全部楼层
我自己是这么写的
  1.     score=[]
  2.     condition = 0
  3.     incluede=['1','2','3','4','5','6','7','8','9']
  4.     for i in comments:
  5.         print(comments)        
  6.         for a in incluede:
  7.             if a in i:
  8.                 condition = condition + 1
  9.                 print(condition)
  10.         if int(condition) > 4 :               
  11.             score = i
  12.             condition = 0
  13.     return score
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-22 21:01:26 | 显示全部楼层    本楼为最佳答案   
把逻辑运算相加,True为1, False为0,如果等于等于4,就符合条件。例如
  1. >>> a = 3
  2. >>> b = 4
  3. >>> c = 5
  4. >>> (a > 4) + (b < 5) + (c ==5)
  5. 2
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-24 19:49:46 | 显示全部楼层
冬雪雪冬 发表于 2021-8-22 21:01
把逻辑运算相加,True为1, False为0,如果等于等于4,就符合条件。例如

没有看明白
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-24 20:05:04 | 显示全部楼层

条件满足为True,不满足为False,加法运算True为1,False为0
所以相加的值说明有几个True
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-27 15:00:40 | 显示全部楼层
冬雪雪冬 发表于 2021-8-24 20:05
条件满足为True,不满足为False,加法运算True为1,False为0
所以相加的值说明有几个True

謝謝
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-19 15:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表