python练习6.16

 题一:编写一个接受句子并计算字母和数字的程序。假设为程序提供了以下输入:
Hello world! 123
然后,输出应该是:
字母10
数字3

x=input("请输入")
b={"数字":0,"字母":0}
for i in x :
    if i.isdigit():
        b["数字"]+=1
    elif i.isalpha():
        b["字母"]+=1
for key,val in b.items():
 print (key,val)

 题二:

题:编写一个程序,计算a + aa + aaa + aaaa的值,给定的数字作为a的值。假设为程序提供了以下输入:9     。然后,输出应该是: 11106

a=int(input("请输入一个数字"))
b=[]
c="1"
for i in range(4):
 b.append(int(c)*a)
 c+="1"
print(sum(b))

 当list是一个空的,没有一个元素,进行赋值就会出现错误

所以得用append函数加,刚才一直在用=(赋值)查了查,才知道

题三:

题:网站要求用户输入用户名和密码进行注册。编写程序以检查用户输入的密码的有效性。
以下是检查密码的标准:
1. [a-z]之间至少有1个字母
2. [0-9]之间至少有1个数字
1. [A-Z]之间至少有一个字母
3. [$#@]中至少有1个字符
4.最短交易密码长度:6
5.交易密码的最大长度:12
您的程序应接受一系列逗号分隔的密码,并将根据上述标准进行检查。将打印符合条件的密码,每个密码用逗号分隔。
例:如果以下密码作为程序的输入:

ABd1234@1,a F1#,2w3E*,2We3345
然后,程序的输出应该是:

ABd1234 @ 1

import re
value=[]
password=input("输入你的密码").split(",")
for p in password:
    if  len(p)<6 or len(p)>12:
        continue
    if  not re.search("[a-z]",p):
        continue
    elif  not re.search("[A-Z]",p):
        continue
    elif  not re.search("[0-9]",p):
        continue
    elif not  re.search("[$#@]",p):
        continue
    elif not  re.search("[a-z]",p):
        continue
    value.append(p)
print("".join(value))

原本按习惯用re.match然后找不到,看了看他的用search就盘活了。

match只找开头,开头没有就没有,search全局找。

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值