2019-12-26(147)

本文通过一系列Python编程题目,如计算数列和、字典操作、函数参数传递、类变量理解及类继承,深入探讨了Python语言的特性与应用。从基础语法到高级特性,每个题目都旨在增强读者的编程技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

174、 计算 2 ­‐ 3 + 4 ‐ 5 + 6 … 前n项的和,n由键盘输入,用for 和while循环实现

n=int(input("请输入项数:"))
result=0
for i in range(2,2+n):
    if i%2==0:
        result+=i
    else:
        result-=i
print(result)
n=int(input("请输入项数:"))
result=0
i=2
t=1
while t<=n:
    if i%2==0:
        result+=i
    else:
        result-=i
    i+=1
    t+=1
print(result)

175、输出banana对应的颜色,且输出其上层key(fruit)对应的value

d = {
           "info":{
           "name":"zhangsan",
            "age":22,
            "fruit":{
            "peach":"red",
            "banana":"yellow"           
}
} 
}
for k,v in d.items(): #d
    if isinstance(v,dict):
        for k1,v1 in v.items(): #info
            if k1=="fruit":
                print(v1)
            if isinstance(v1,dict):
                for k2,v2 in v1.items(): #fruit
                    if k2=="banana":
                        print("banana对应的颜色为%s" %v2)

176、使用匿名函数求100以内偶数的和

result=0
for i in range(100):
    if i%2==0:
        result+=i
print(result)
sum(list(filter(lambda x:x%2==0, list(range(100)))))

177、自己构造一个以字符串为key,数字为value的字典,分别按照key和value,倒序排序

d={"a":1,"b":3,"d":2,"c":7}
def func1(l):
    return l[0]

def func2(l):
    return l[1]
    
d_sorted_1=sorted(d.items(),key=func1,reverse=True)
print("按照key降序排序:",dict(d_sorted_1))

d_sorted_2=sorted(d.items(),key=func2,reverse=True)
print("按照value降序排序:",dict(d_sorted_2))

178、1+2!+3!+4!+5! 非递归实现求和1+2+6+24+120=153

result=0
for i in range(5):
    temp=1
    for j in range(1,i+2):
        temp*=j
    result+=temp
    
print(result)

result = 0
temp = 1
for i in range(1,6):
    temp*=i
    result+=temp
print(result)

179、给定一个字符串,判断其中的所有字符是不是都只出现一次;

s = "abcabd122kk!@@@"
def is_one_time(s):
    if not isinstance(s,str):
        return False
    if len(s)==0:
        return False
    for i in s:
        if s.count(i)>1:
            return False
    else:
        return True

print(is_one_time(s))

180、给定一个字符串,求该字符串的统计字符串。例如:“fffjkk99999022” ,返回统计字符串“f_3_j_1_k_2_9_5_0_1_2_2

s="fffjkk99999022"
d={}
result=[]
for i in s:
    d[i]=s.count(i)
    
print(d)

for k,v in d.items():
    temp=k+"_"+str(v)
    result.append(temp)
print("_".join(result))

181、值传递和引用传递有什么区别?分别用值传递和引用传递实现一个函数;

a=1
def func1(s):
    s=s+1
    return s
print("函数结果:",func1(a))
print("a=",a)
a=[]
def func2(l):
    l.append(1)
    return l

print("函数结果:",func2(a))
print("a=",a)

182、定义一个类,包含一个类变量和实例变量,写程序说明类变量和实例变量的区别

类变量所以实例对象和类均可访问
实例变量只能实例本身访问,类不能访问,且实例变量存在自己实例对象的内存中

class Person:
    count=0
    def __init__(self,name):
        self.name=name
        Person.count+=1
        
p1=Person("cc")
p2=Person("zz")
print("类访问类变量:",Person.count)
print("p1实例访问类变量:",p1.count)
print("p2实例访问类变量:",p2.count)

print("p1实例访问自己的实例变量:",p1.name)
print("p2实例访问自己的实例变量:",p2.name)

183、类继承:定义一个基类,基类有方法A,定义两个子类均继承该基类,重写方法A,写程序说明分别调用基类、子类同名方法的区别;

class Person:
    count=0
    def __init__(self,name):
        self.name=name
        Person.count+=1
    def print_info(self):
        return self.name

class Female(Person):
    def __init__(self,name,gender):
        Person.__init__(self,name)
        self.gender=gender
        
    def print_info(self):
        return self.name,self.gender
        
class Male(Person):
    def __init__(self,name,gender):
        Person.__init__(self,name)
        self.gender=gender
        
    def print_info(self):
        return self.name,self.gender       
       
f=Female("zz","男")
m=Male("cc","女")
print(f.print_info())
print(m.print_info())

p=Person("superman")
print(p.print_info())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值