q993255492 发表于 2021-4-8 23:26:20

求助:关于wile循环中if条件

new_heading = ['Reg.', 'Date Time', 'Ticket', 'Line', 'Item', 'Qty', 'Amount', 'Discount', 'Surname', 'Name', 'Badge',
               'Cabin', 'Opr', 'Orig']

for i in new_heading:
    if n == 2 or (n >= 4 and n <= 7) or n == 10:

我想输出一段规定格式的txt文本, 文本位置是用空格做占位符的.
类似 ticket、 item、 qty、等等这些文本格式不同于其他的.
所以我用if 判断给区分开,
有没有大佬告诉我 这个能不能简化
类似于 把这些放在一个列表里然后让他自己核对呢
if n == 之类的..

wp231957 发表于 2021-4-9 06:51:07

这还麻烦吗?你还想咋简单呢

qq1151985918 发表于 2021-4-9 08:01:37

new_heading = ['Reg.', 'Date Time', 'Ticket', 'Line', 'Item', 'Qty', 'Amount', 'Discount', 'Surname', 'Name', 'Badge',
               'Cabin', 'Opr', 'Orig']

data = ['Ticket', 'Item', 'Qty', 'Amount', 'Discount', 'Badge']

for i in new_heading:
    if i in data:
      print(i)

q993255492 发表于 2021-4-10 18:44:40

wp231957 发表于 2021-4-9 06:51
这还麻烦吗?你还想咋简单呢

哈哈 我是在想看看能不能把代码做成最简化
如果 一个项目 25几乎每个都有特殊格式要求 其中有些项目是重复的我要把每个索引都写在上面那也不好管理呀,如果放在一个列表里不是可以方便管理么、、

q993255492 发表于 2021-4-10 18:50:27

qq1151985918 发表于 2021-4-9 08:01


感谢大佬回复 这个我之前也想到过确实会遍历data 但是他也会遍历 new_heading的列表。 这样 就会把 结果输出 15次
我想要让 new_heading 列表每个元素都打印出来 并且定义他们的格式。。

q993255492 发表于 2021-4-10 18:53:38

q993255492 发表于 2021-4-10 18:44
哈哈 我是在想看看能不能把代码做成最简化
如果 一个项目 25几乎每个都有特殊格式要求 其中有些项目是重 ...

我之前想过 每个元素 用一个 定义函数去表示, 但 我不知道以后会不会在继续改变格式如果每次都过来改代码本体 不是有点违背简化的初衷了么。。。。

q993255492 发表于 2021-4-11 19:51:42

q993255492 发表于 2021-4-10 18:50
感谢大佬回复 这个我之前也想到过确实会遍历data 但是他也会遍历 new_heading的列表。 这样 就会把...

是我搞错了这个可以{:5_108:}感谢
页: [1]
查看完整版本: 求助:关于wile循环中if条件