目录

题目

思路

Code


题目

给定用户密码输入流input,输入流中字符'<'表示退格,可以清除前一个输入的字符,请你编写程序,输出最终得到的密码字符,并判断密码是否满足如下的密码安全要求。
密码安全要求如下:
1.密码长度>=8
2.密码至少需要包含1个大写字母
3.密码至少需要包含1个小写字母
4.密码至少需要包含1个数字
5.密码至少需要包含1个字母和数字以外的非空白特殊字符
注意空串退格后仍然为空串,且用户输入的字符串不包含<’字符和空白字符
输入描述
用一行字符串表示输入的用户数据,输入的字符串中“字符标识退格,用户输入的字符串不包含空白字符.
输出描述
输出经过程序处理后,输出的实际密码字符串,并输出改密码字符串是否满足密码安全要求。两者间由,分隔
示例1
输入

ABC<c89%000<
输出
ABc89%00,true
说明
解释: 多余的C和0由于退格被去除,最终用户输入的密码为ABc89%00,且满足密码安全要求,输出true

思路

1:简单题目,就是字符串处理。

2:先对字符串遍历得到所有的退格符号,处理完之后再判断是否满足密码的条件即可。

编辑

Code

# coding:utf-8
#JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。 
import functools
import sys
from collections import Counter, defaultdict
import copy
from itertools import permutations
import re
import math
import sys
from queue import Queue
 
input_str = input()
contains_big_char = 0
contains_small_char = 0
contains_number = 0
contains_special_char = 0
i=0
real_passwd = ""
index = 0
#先去除字符
while(True):
    if(i>=len(input_str)):
        break
    else :
        if (input_str[i] != '<') :
            real_passwd += input_str[i]
            index += 1
        else :
            if (index > 0):
                real_passwd = real_passwd[0:index-1]
                index = index -1
            else:
                real_passwd = real_passwd
    i+=1
    
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.

【华为od机试真题Python+JS+Java合集】【超值优惠】: Py/JS/Java合集

【华为od机试真题Python】: Python真题题库

【华为od机试真题JavaScript】: JavaScript真题题库

【华为od机试真题Java】: Java真题题库

【华为od机试真题C++】: C++真题题库

【华为od机试真题C语言】: C语言真题题库

【华为od面试手撕代码题库】: 面试手撕代码题库

【华为od机试面试交流群:830285880】