Python字典练习1【第八周】

Python字典练习1【第八周】,第1张

文章目录
  • Python字典练习1【第八周】
    • 一、母牛生小牛
    • 二、不常见的单词
    • 三、最常见的单词
    • 四、又见字符统计
    • 五、寻找十全十美数
    • 六、循环数数
    • 七、有序列表的重复和删除
    • 八、字符间最短的距离

Python字典练习1【第八周】 一、母牛生小牛

#include 
using namespace std;
int dp[500010];
int main()
{
	int n;
	cin>>n;
	
	dp[0]=0;
	dp[1]=1;
	dp[2]=1;
	dp[3]=1;
	dp[4]=2;
	for(int i=5;i<=n;i++)
	{
		dp[i]=dp[i-1]+dp[i-3];
	}	
	cout<<dp[n];
	
 }
二、不常见的单词

s1 = list(input().split())
s2 = list(input().split())
s1.extend(s2)
s3=[]
for i in range(len(s1)):
   if s1.count(s1[i])==1:
        s3.append(s1[i])
print(s3)
三、最常见的单词

n = input()
m = eval(input())
n = n.lower()
str1 = ''
lst = ['!', ',', '.', ':', ';', '\'', '?']
for i in n:
    if i in lst:
        continue
    else:
        str1 += i
str1 = str1.split()
d = dict.fromkeys(str1,0)
for i in str1:
    if i in m:
        d[i] = -1
    else:
        d[i]+=1
o = max(d.values())
l = []
for k,v in d.items():
    if v == o:
        l.append(k)
print(l)
四、又见字符统计

s=input()
le = len(s)
if s.isalpha()==False:
    print("Error!")
else:
    s2=s.lower()
    print([s2.count(chr(i)) for i in range(97, 123)])
五、寻找十全十美数

x=list(input().split(","))
lex=len(x)
t=0
for i in range(lex):
    f=0
    l = [i for i in range(1, len(x[i]) + 1)]
    for j in range(len(x[i])):
        if len(set(x[i]))!=len(x[i]) or int(x[i][j]) not in l:
            f=1
            break
    if f==0:
        t+=1
        print(x[i])
if t==0:
    print("not found")
六、循环数数

import math
L=['0','2','4','5','6','8']
def judgeNum(x):
    if x==1 or x==0:
        return False
    else:
        for i in range(2,int(math.sqrt(x))+1):
            if x%i==0:
                return False
    return True

def MoreJudge(x):
    s=str(x)
    for i in s:
        if i in L:
            return False
    ms=""
    for i in range(len(s)):
        ms+=s[i]
        if i==len(s)-1:
            for j in range(i):
                ms+=s[j]
        else:
            ct=i+1
            for j in range(len(s)-1):
                if ct>=len(s):
                    ct=0
                ms+=s[ct]
                ct+=1
        if judgeNum(int(ms))!=True:
            return False
        ms=""
    return True

n=int(input())
cnt=0
for i in range(n):
    if i<=10:
        if judgeNum(i):
            cnt+=1
    else:
        if judgeNum(i):
            if MoreJudge(i):
                cnt+=1
print(cnt)
七、有序列表的重复和删除

s1 = list(input().split())

print(len(set(s1)))
八、字符间最短的距离

n = input()
m = input()
lst = []
len1 = []
answer = []
for i in range(len(n)):
    if n[i] == m:
        lst.append(i)
for l in range(len(n)):
    len1.clear()
    for j in lst:
        len1.append(abs(l-j))
    answer.append(min(len1))
print(answer)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/724988.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-26
下一篇 2022-04-26

发表评论

登录后才能评论

评论列表(0条)

保存