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