实验报告二、Python 运算符、表达式与内置对象

一、实验目的:

1、熟练运用 Python 运算符。

2、熟练运用 Python 内置函数。

3、养成对用户输入立即进行类型转换的习惯。

4、了解lambda表达式作为函数参数的用法。

5、了解列表、元组、字典、集合的概念和基本用法。

6、了解Python函数式编程模式。

二、实验内容:

1、编写程序,输入任意大的自然数,输出各位数字之和。

2、编写程序,输入两个集合 setA 和 setB,分别输出它们的交集、并集和差集 setA-setB。

3、编写程序,输入一个自然数,输出它的二进制、八进制、十六进制表示形式。

4、编写程序,输入一个包含若干整数的列表,输出新列表,要求新列表中只包含原列表中的偶数。

5、编写程序,输入两个分别包含若干整数的列表IstA和lstB,输出一个字典,要求

使用列表istA中的元素作为键,列表IstB中的元素作为值,并且最终字典中的元素数量取决于IstA和istB中元素最少的列表的数量。

6、编写程序,输入一个包含若干整数的列表,输出新列表,要求新列表中所有元素来自于原列表,并且降序排列。

7、编写程序,输入一个包含若干整数的列表,输出列表中所有整数连乘的结果。

8、编写程序,输入两个各包含2个整数的列表,分别表示城市中两个地点的坐标,

输出两点之间的曼哈顿距离。

9、编写程序,输入包含若干集合的列表,输出这些集合的并集。要求使用reduce()

函数和lambda表达式完成。

10、编写程序,输入等比数列的首项、公比(不等于1且小于36的正整数)和一个自然数n,输出这个等比数列前n项的和。关键步骤要求使用内置函数int().

 

3、 实验步骤:

1. 程序代码(按题号分别给出)

T1:

x=str(input("请输入一个自然数:"));

a=len(x);

sum=0;

for i in range(0,a):

   sum=sum+int(x[i]);

print("各位数字之和为:",sum);

 

T2:

setA=set(input("请输入集合A:"));

setB=set(input("请输入集合B:"));

s1=setA|setB;

s2=setA&setB;

s3=setA-setB;

print("两集合的并集为",s1);

print("两集合的交集为",s2);

print("两集合的差集为",s3);

 

T3:

x=int(input("请输入一个自然数:"));

a=bin(x);

b=oct(x);

c=hex(x);

print("其二进制为:",a);

print("其八进制为:",b);

print("其十六进制为:",c);

 

T4:

x=input("请输入一个列表:");

x=list(map(int,x.split( )));

listx=[];

for i in x:

   if i%2==0:

       listx.append(i);

print("新列表为:",listx);

 

T5:

lisA=(input("请输入列表A:"));

lisB=(input("请输入列表B:"));

lisA=list(map(int,lisA.split( )));

lisB=list(map(int,lisB.split( )));

listx=dict(zip(lisA,lisB));

print("最终的字典为:",listx);

 

T6:

listA=input("请输入一个列表:");

listA=list(map(int,listA.split()));

listA.sort(reverse=True);

print("新列表为:",listA);

 

T7:

listA=input("请输入一个列表:");

listA=list(map(int,listA.split()));

sum=1;

for i in listA:

   sum*=i;

print("连乘的结果为:",sum);

 

T8:

import random;

listA=[];

listB=[];

for i in range(2):

   a=random.randint(0,1000);

   b=random.randint(0,1000);

   listA.append(a);

   listB.append(b);

c=abs(listA[0]-listB[0])+abs(listA[1]-listB[1]);

print("曼哈顿距离为:",c);

 

T9:

from functools import reduce;

setA=set(eval(input("请输入集合A:")));

setB=set(eval(input("请输入集合B:")));

list=[];

list.append(setA);

list.append(setB);

alist=reduce(lambda x,y:x|y,list);

print("并集为:",alist);

 

T10:

a=input("请输入首项:");

a=int(a);

q=input("请输入公比:");

q=int(q);

n=input("请输入一个自然数:");

n=int(n);

if q in range(2,35):

   sum=(a*(1-q**n))/(1-q);

print("前n项和为:",sum);

 

2. 结果图片

T1:

f967c7b5f4c440d8b36bddd316aff7b4.png  

T2:

7d90f8ecffce47a289570289fadb6ae4.png 

T3:

2495b0afd7974ad0a7573adbbc2390a6.png  

T4:

1ee75d1a63cc45a9b3e24a6cbf8f94a5.png  

T5:

061f07513abf4ddda497dad922af6cc5.png  

T6:

f45c5720944d4a0c8ce34b4c961ad3fb.png  

T7:

18ea115a7613460ab3d379f3f4a1602d.png 

T8:

569e8939618e4c43922e4eff7d91f2f4.png 

T9:

451ec092c0dd4ab2bf2a5f57643be5ca.png  

T10:

8bb97ee490a247b4afc36793a81a24b5.png 

  • 9
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值