打印满足条件的两位数

# -*- coding: UTF-8 -*-

'''
对100以内的两位数,请使用一个两重循环打印出所有十位数数字比个位数数字小的数,
例如,23(2 < 3),并统计个数。
'''

import itertools

#方法一:使用生成器
lib = [a*10+b for a in range(1,10) for b in range(a+1,10)]
print len(lib),':',lib

#方法二:使用product
lib = [a*10+b for a, b in itertools.product(range(1,10),range(2,10)) if a < b]
print len(lib),':',lib

#方法三:使用permutations
lib = [a*10+b for a, b in itertools.permutations(range(1,10),2) if a < b]
print len(lib),':',lib

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 您可以使用以下命令来实现: ``` awk '$指定字段 ~ /^[0-9]{14}$/ {print} !($指定字段 ~ /^[0-9]{14}$/) {print $0}' input_file ``` 其中,"指定字段"请替换为您想要检查的字段的编号,例如:如果您想检查第3个字段,则可以将上述命令替换为: ``` awk '$3 ~ /^[0-9]{14}$/ {print} !($3 ~ /^[0-9]{14}$/) {print $0}' input_file ``` 如果匹配到14位数字,将打印整行,如果不满足条件,则打印当前行。 ### 回答2: 在awk中,我们可以使用正则表达式来匹配指定的字段。对于14位数字,我们可以使用"^([0-9]{14})$"来匹配正则表达式。下面是一个示例awk脚本,用于打印出不满足条件的行: ```shell awk '{ if ($1 !~ /^([0-9]{14})$/) print }' 文件名 ``` 在这个脚本中,`$1`表示第一个字段,`!~`表示不匹配,`/^([0-9]{14})$/`是正则表达式,表示匹配14位数字。如果第一个字段不是14位数字,则打印该行。 你可以将"文件名"替换为你要处理的实际文件名,或者通过管道将输入传递给awk脚本。 注意:这个脚本仅适用于考虑第一个字段的情况。如果你想匹配其他字段,可以将`$1`替换为相应的字段号。 ### 回答3: awk是一种用于文本处理的命令行工具,可以根据指定的规则来处理文本文件中的数据。如果我们想要指定匹配14位数字的字段,并打印满足条件的当前行,可以使用awk的正则表达式来实现。 首先,我们需要定义一个正则表达式来匹配14位数字。在awk中,可以使用`[0-9]`来代表数字,使用`{14}`来表示14位。因此,我们可以使用正则表达式`^[0-9]{14}$`来匹配14位数字。 接下来,我们可以使用awk的`-F`选项来指定字段的分隔符,默认为制表符。假设我们的字段是以空格分隔的,我们可以使用`-F' '`来指定空格作为字段分隔符。 然后,我们可以使用awk的正则表达式匹配模式来筛选出满足条件的字段。我们可以使用`$NF~/^[0-9]{14}$/`来表示最后一个字段满足14位数字的条件。在awk中,`$NF`表示最后一个字段。 最后,我们可以使用awk的默认操作来打印匹配条件的当前行。默认操作是打印整行内容。因此,我们的awk命令可以写为: ``` awk -F' ' '$NF!~/^[0-9]{14}$/' 文件名 ``` 示例: 假设我们有一个名为data.txt的文件,内容如下: ``` abc 12345 def 123456789012345 ghi 1234567890 jkl 12345678901234 ``` 我们运行以下命令: ``` awk -F' ' '$NF!~/^[0-9]{14}$/' data.txt ``` 输出结果为: ``` abc 12345 jkl 12345678901234 ``` 这是因为第二行和第四行的最后一个字段不满足14位数字的条件,所以这两行被打印出来了。而第一行和第三行的最后一个字段满足14位数字的条件,所以它们没有被打印出来。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值