python 测试题4-12

这是一组Python基础测试题目,包括网址域名提取、字符串处理、数字转换以及字符串格式验证等。题目涵盖正则表达式应用、输入输出处理以及键盘交互式的用户验证程序,旨在考察Python基本语法和常见操作的掌握情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 1.将以下网址提取出域名:
s2 = """http://www.interoem.com/messageinfo.asp?id=35`
http://3995503.com/class/class09/news_show.asp?id=14
http://lib.wzmc.edu.cn/news/onews.asp?id=769
http://www.zy-ls.com/alfx.asp?newsid=377&id=6
http://www.fincm.com/newslist.asp?id=415"""

答案:

print(re.findall(r"http://.*?\.com|http://.*?\.cn",s2))
  • 2,
s = """<div>
<p>岗位职责:</p>
<p>完成推荐算法、数据统计、接口、后台等服务器端相关工作</p>
<p><br></p>
<p>必备要求:</p>
<p>良好的自我驱动力和职业素养,工作积极主动、结果导向</p>
<p> <br></p>
<p>技术要求:</p>
<p>1、一年以上 Python 开发经验,掌握面向对象分析和设计,了解设计模式</p>
<p>2、掌握HTTP协议,熟悉MVC、MVVM等概念以及相关WEB开发框架</p>
<p>3、掌握关系数据库开发设计,掌握 SQL,熟练使用 MySQL/PostgreSQL 中的一种<br></p>
<p>4、掌握NoSQL、MQ,熟练使用对应技术解决方案</p>
<p>5、熟悉 Javascript/CSS/HTML5,JQuery、React、Vue.js</p>
<p> <br></p>
<p>加分项:</p>
<p>大数据,数理统计,机器学习,sklearn,高性能,大并发。</p>
</div> """

使用正则表达式将以上字符串去除p标签,输出的时候,必须为一行,不能分行输出(代码题)
答案;

print(re.sub(r"<p>|</p>\s","",s2))
  • 3.怎样将"100"转换为100(2种方法)
str ="100"
print(type(str))
nume=int(str)
print(nume)
print(type(nume))
法二:
str ="100"
li=list()
for i in str:
    li.append(i)
for i in li:
    print(int(i),end="")

  • 6.用户名和密码格式校验程序
    • 要求从键盘输入用户名和密码,校验格式是否符合规则,如果不符合,打印出不符合的原因,并提示重新输入
    • 用户名长度6-20,用户名必须以字母开头
    • 密码长度至少6位,不能为纯数字,不能有空格
def name_check(name,passwd):
    """效验函数"""
    """验证用户名格式是否正确"""
    if len(name) < 6 or len(name) > 20:
        print({"输入格式错误,6-20"})
        print("请重新输入")
        return
    #查看用户名是否已字母开头
    if name[0] not in "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM":
        print(name[0])
        print("用户名开头必须是字母")
        print("请重新输入")
        return
    #效验密码格式6位,不能为纯数字,不能为空格
    if len(passwd) < 6 or passwd.isdigit() or " "in passwd:
        print("密码长度至少6位,不能为纯数字,不能有空格")
        print("请重新输入")
        return
    print("验证成功")
    print("*"*20)

def main():
    while True:
   		 name = input("请输入用户名(6-20位)")
        if name =="quit":
            break
        passwd = input("请输入密码(密码长度至少6位)")

        #调用函数
        name_check(name,passwd)

if __name__ == '__main__':
    main()


  • 7.字符翻译程序
    • 查看笔记本键盘1-9还有0号键其上方的字符,要求用户输入"1",那么输出"!",输入"2",那么输出"@",以此类推
    • 用户如果输入的字符长度超过1或者是除数字以外其他字符,提示"未收录该字符的含义,请重新输入"
char_dict ={"1": "!", "2": "@", "3": "#", "4": "$", "5": "%", "6": "^", "7": "&", "8":"*", "9": "(", "0": ")"}
while True:
    info = input("请输入命令;")
    if info in "0123456789" and len(info) == 1:
        print("键盘中%s号键对应的符号是%s"%(info, char_dict[info]))
    elif info =="quit":
        print("谢谢使用")
        break
    else:
        print("未收录该字符的含义,请重新输入")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值