当前位置: 首页 > news >正文

Python 编程题 第八节:字符串变形、压缩字符串、三个数的最大乘积、判定字符是否唯一、IP地址转换

字符串变形

swapcase()方法将字符串大小写转换;split()方法将字符串以括号内的符号分隔并以列表形式返回

s=input()
l=s.split(" ")
l=l[::-1]
s=""
for i in l:
    a=i.swapcase()
    s+=a
    s+=" "
print(s[0:len(s)-1])

压缩字符串

很巧妙的方法

def zip(s):
    lst=[]
    for i in s:
        if not lst or lst[-2]!=i:#空列表或者第一次出现
            lst.append(i)
            lst.append(1)
        else:#出现过
            lst[-1]=lst[-1]+1
    return lst
s=input()
l=zip(s)
res=""
for i in l:
    if i!=1:
        res+=str(i)
print(res)

三个数的最大乘积

两种情况,全是正数时,最大的三个乘积;有正有负时,最小的两个负数和最大的正数乘积

lst=[1,7,45,25,12,-28,-15,0,25]
lst.sort()
def mul(l):
    return max(l[0]*l[1]*l[-1],lst[-1]*lst[-2]*lst[-3])
print(mul(lst))

判定字符是否唯一

s=input()
def only(s):
    for i in range(len(s)):
        if s[i] in s[i+1:]:
            return False
    return True
print(only(s))

IP地址转换

'{:08b}'.format()实现转2进制高位补0,8表示8位,b表示二进制;int()函数中的2表示2进制,表示把2进制数转换为10进制

s=input()
l=s.split(".")
res=""
for i in l:
    res +='{:08b}'.format(int(i))
print(int(res,2))

相关文章:

  • KL散度详解与应用
  • FTP 与 TFTP 的详细异同点
  • 信号与系统笔记——第二章 连续系统的时域分析(三)
  • 复现无人机的项目,项目名称为Evidential Detection and Tracking Collaboration
  • 【面试】Kafka
  • OpenCV实现图像分割与无缝合并
  • Jenkins实现自动化构建与部署:上手攻略
  • 机器学习 Day03 Numpy基本使用
  • 2025 ubuntu24系统宿主机上在线安装mysql数据库完整演示
  • Python连接SQL SEVER数据库全流程
  • 基于大模型的结节性甲状腺肿诊疗全流程预测与方案研究报告
  • 【原理理解】图像SNR信噪比理解
  • 关于JSONArray转换为JSONObject的问题解决
  • 第四章:表单与交互:打造你的「数据捕手」
  • 攻防世界 file_include【php://filter详解】
  • Reactor中的Flux和Mono的区别
  • 【2025】基于PHP+Vue的电影购票系统(源码+文档+调试+图文修改+答疑)
  • 如何用HTML5 Canvas实现电子签名功能✍️
  • 【c语言逻辑运算和判断选取精选题】
  • DeepSeek V3 并行训练、推理优化点(一)
  • 上海电视节评委会名单公布,陈宝国担任电视剧评委会主席
  • 两次通话、三点诉求,泽连斯基对美称愿与俄签署和平备忘录
  • 国家外汇管理局:4月货物贸易项下跨境资金净流入649亿美元
  • 专访|金七猫奖得主:以非遗为舟,在现实题材中疗愈与成长
  • 苏州1-4月进出口总值增长6.8%,工业机器人出口额倍增
  • 一周人物|收藏家瓦尔特捐出藏品,女性艺术家“对话”摄影