目录
题目
思路
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
【华为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】