# 1.求出1900-2017年之间的普通闰年和世纪闰年,分别放在不同列表中;
# 普通闰年:能被4整除,但不能被100整除的年份
# 世纪闰年:能被400整除的年份
ptRunNian=[]
sjRunNian=[]
for i in range(1900,2018):
if i%4==0 and 1%100!=0:
if i%400!=0:
ptRunNian.append(i)
else:
sjRunNian.append(i)
print("普通闰年:",ptRunNian)
print("世纪闰年:",sjRunNian)
#2.分析以下数字的规律, 1 1 2 3 5 8 13 21 用Python语言编程实现输出,此为斐波那契数列 (考试题非常多次题目)
len=input("请输入斐波那契数列的长度:")
fbnq_list=[]
for i in range(0,int(len)):
if i>1 :
fbnq_list.append(fbnq_list[i-1]+fbnq_list[i-2])
else:
fbnq_list.append(1)
print(fbnq_list)
#3.给一组无规律的数据从大到小或从小到大进行排序list1=[2,6,9,10,18,15,1,88,34,22,95] 使用冒泡排序实现
list1=[2,6,9,10,18,15,1,88,34,22,95]
for i in range(0,list1.__len__()):
for j in range(i+1,list1.__len__()-1):
if list1[i]>list1[j]:
list1[i]=list1[i]+list1[j]
list1[j]=list1[i]-list1[j]
list1[i]=list1[i]-list1[j]
print(list1)
# 4.如有两个list:a =['a','b','c','d','e'],b=[1,2,3,4,5]
# 将a中的元素作为key,b中的元素作为value合并为字典
a =['a','b','c','d','e']
b=[1,2,3,4,5]
c={}
for i in range(0,a.__len__()):
c.setdefault(a[i],b[i])
print(c)
# 5.用你熟悉的方法帮我求出6-55之和?
sum=0
for i in range(6,56):
sum+=i
print("6-55之和:",sum)
# 6.求出1/1 + 1/3 + 1/5……+1/99的和
sum=0.0
for i in range(1,100,2):
sum+=1/i
print("1/1 + 1/3 + 1/5……+1/99的和:",sum)
# 7.用循环语句,计算2 - 10之间整数的循环相乘的值
value1=1
for i in range(2,11):
value1*=i
print("2 - 10之间整数的循环相乘的值:",value1)
# 8.用for循环打印九九乘法表
for i in range(1,10):
for j in range(1,i+1):
print(j,"*",i,"=",i*j,end="\t")
print()
# 9.字符串aabbcdbaaabc,用熟悉的方法去除ab子串?
str1="aabbcdbaaabc"
str1=str1.replace("ab","")
print(str1)
# 10.求每个字符串中字符出现的个数如:helloworld
str1=input("请输入字符串:")
dict1={}
for i in str1:
if i not in dict1:
dict1.setdefault(i,1)
else:
dict1[i]=dict1[i]+1
print(dict1)
# 12.水仙花数:一个三位数,其按位立方之和等于该数本身,该数称为水仙花数。求出100-1000之间的水仙花数
# (其实,水仙花数是“自幂数”中的一种;自幂数:一个n位数,其按位数字的n次方之和,等于该数本身。
sxh_list=[]
ge=0
shi=0
bai=0
for i in range(100,1000):
ge=int(i%10)
shi=int((i/10)%10)
bai=int(i/100)
if i==(ge**3+shi**3+bai**3):
print(ge**3, shi**3, bai**3, i, (ge**3 + shi**3 + bai**3))
sxh_list.append(i)
print(sxh_list)
#通用水仙花数:字符串
def getSum(num):
sum=0
for i in range(0,str(num).__len__()):
sum+=int(str(num)[i])**int(str(num).__len__())
return sum
list1=[]
num=input("请输入一个数:")
for i in range(0,int(num)+1):
if i==getSum(i):
list1.append(i)
print(list1)
#通用水仙花数:递归
sum=0
list1=[]
def get_zms(num,sum,leng): #获取自幂数
if num==0:
return sum
sum+=(num%10)**leng
return get_zms(num//10,sum,leng)
num=input("请输入一个数:")
for i in range(1,int(num)+1):
leng = int(str(i).__len__()) # 获取长度
if i==get_zms(i,sum,leng): #判断i是否等于自幂数
list1.append(i)
print(list1)
python练习题笔记
最新推荐文章于 2024-08-08 14:28:23 发布