Python 编程题 第七节:没出现过的数字、替换空格、快乐数、立方根、最长公共前缀

没出现过的数字

python 复制代码
import random
n=int(input(""))
nums=[]
for i in range(n):
    nums.append(random.randint(1,n))
print(nums)
lst=[]
for i in range(1,n):
    if i not in nums:
        lst.append(i)
print(lst)

替换空格

方法一(replace函数)

python 复制代码
str="Hellow world"
print(str.replace(" ","%"))

方法二(手搓函数)

python 复制代码
str="Hellow world"
def func(s):
    str=""
    for i in s:
        if i !=" ":
            str+=i
        else:
            str+="%"
    return str
print(func(str))

快乐数

很巧妙的方法通过change()函数

python 复制代码
def change(x):
    sum=0
    while x>0:
        j=x%10
        sum+=j*j
        x=x//10
    return sum
def happynum(n):
    while n>9:#当两位数的时候进行转换
        n=change(n)
    if n==1:
        return True
    else:
        return False

print(happynum(18))

立方根

math库里的pow函数

python 复制代码
import math
n=int(input())
res=math.pow(n,1/3)
print(res)

最长公共前缀

先排序,拿最小的去比较

python 复制代码
strs=["abca","abc","abca","abc","abcc","ab","abcccd"]
strs.sort()
s=""
m=len(strs[1])
for i in strs:
    if i[0:m]!=strs[1][0:m]:
        m-=1
print(strs[1][0:m])
相关推荐
laocooon5238578862 分钟前
插入法排序 python
开发语言·python·算法
你的冰西瓜25 分钟前
C++中的list容器详解
开发语言·c++·stl·list
就不掉头发36 分钟前
I/O复用
运维·服务器·c语言·开发语言
梦里小白龙1 小时前
JAVA 策略模式+工厂模式
java·开发语言·策略模式
安_1 小时前
js 数组splice跟slice
开发语言·前端·javascript
程序员葫芦娃1 小时前
【Java毕设项目】基于SSM的旅游资源网站
java·开发语言·数据库·编程·课程设计·旅游·毕设
Pocker_Spades_A1 小时前
飞算Java在线学生成绩综合统计分析系统的设计与实现
java·开发语言·java开发·飞算javaai炫技赛
Yuer20251 小时前
用 Rust 做分布式查询引擎之前,我先写了一个最小执行 POC
开发语言·分布式·rust
Francek Chen2 小时前
【飞算JavaAI】智能开发助手赋能Java领域,飞算JavaAI全方位解析
java·开发语言·人工智能·ai编程·飞算
tryxr2 小时前
继承存在的意义、特点、使用方法
java·开发语言·接口