CCF-201403-3-命令行选项

这是一道关于模拟命令行选项的编程题,要求根据给定的格式化字符串和多个命令行,判断并输出符合条件的选项及其参数。首先将选项分类为带参数和不带参数两类,然后逐个处理命令行,更新选项参数并记录答案。最后输出答案列表,对于带参数的选项同时输出参数值。
摘要由CSDN通过智能技术生成

第三题一如既往的是模拟题,这次模拟解释命令行。做第三题的心态就是:不要被题目吓到,不用急,慢慢看完就好,最后注意细节。这一题规则很清晰,难度适中。

题目大意
给一个格式化字符串(每个字母是一个选项),再给出几个命令行,看每个命令行里面哪些选项符合就输出哪些,遇到不符合的就结束分析

思路

  1. 先把选项分类好。一种是不带参数类型(列表存储),另一种是带参数类型(存储数据结构因人而异,python用字典,java用map,反正要可以存储带参数选项的参数)
  2. 处理命令行,一个个选项看,如果该选项是带参数类型的,读取后面的参数,更新选项的参数值,把参数加入ans(答案列表,存储不重复的选项);如果选项是不带参数类型的,看是否已经加入过ans,没有就加入。
  3. 最后遍历ans,如果选项是带参数类型输出选项同时输出参数,不带参数类型只输出选项
  4. 细节:注意带参数类型的参数,组成字符可以是符号‘-’,字母和数字,还有处理格式字符串和命令行选项的时候,注意不要溢出。
format_str = input()
no_arg_opt = []
has_arg_opt = {}

# 处理格式字符串,分类
idx = 0
while idx < len(format_str):
    if idx + 1 < len(format_str) and format_str[idx + 1]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值