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

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))


http://www.kler.cn/a/580333.html

相关文章:

  • ⭐LeetCode周赛 3468. 可行数组的数目——暴力与数学⭐
  • SpringBoot 如何调用 WebService 接口
  • C#主流日志库深度对比:NLog、log4net与Serilog如何选择?
  • 在vs中无法用QtDesigner打开ui文件的解决方法
  • BGP(三)联盟、反射器
  • 区块链概述及比特币工作原理
  • DeepSeek开源Day5:3FSsmallpond技术详解
  • 最大括号深度
  • 【面试】Kafka
  • 三个一行的多选框组
  • 破局企业AI落地难题!迅易科技DeepSeek私有化部署全场景解决方案
  • Swagger笔记
  • C#中的【Obsolete】属性Attribute
  • MySQL初阶 | 库的操作
  • PostgreSQL 的登陆方式(本地和远程)
  • 《人月神话》:软件工程的成本寓言与生存法则
  • postgresql使用mysql_fdw连接mysql
  • 大白话如何使用 CSS 实现响应式布局?请列举一些常见的方法。
  • Vue3中如何实现单页应用(SPA)导航操作
  • HTML中的块元素与行内元素