Python第二章作业

1、已知复数 x = 6+ 8j 请写出它的模、实部、虚部及共轭复数的命令,并写出运行结果。

>>> x=6+8j
>>> abs(x)       #复数的模
10.0

>>> x.real        #实部
6.0

>>> x.imag      #虚部
8.0
>>> x.conjugate()    #共轭复数
(6-8j)

2、已知a= [97, 98, 99,100], b = (97, 98, 99,100), c = {‘x’:97, ‘y’:98, ‘z’:99,’q’:100}, d = {97, 98, 99,100},则a[1]、b[1]、c[1]、d[1]及c[‘q’])的运行结果分别是什么?并说明理由。

>>> a= [97, 98, 99,100]
>>> a[1]                   #列表使用下标访问指定位置的元素,a[1]对应98
98
>>> b = (97, 98, 99,100)
>>> b[1]                  #元组也支持使用下标访问指定位置的元素,b[1]对应98

98
>>> c = {'x':97, 'y':98, 'z':99,'q':100}
>>> c[1]                 #错误,字典对象的下标是"键",不能这样使用,应改为c['x']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 1
>>> d = {97,98,99,100}
>>> d[1]                #错误,集合是一个无序的不重复元素序列,不可这样用。

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'set' object does not support indexing
>>> c['q']
100

3、写出以下命令的运行结果,并说明理由。

	>>> 2 or 3 
2                         #全为or,为真,返回第一个真值

>>> 2 and 3       
3                          #全为and,为真 ,返回最后一个计算的表达式的值作为整个表达式的值

>>> 2 and 3 and True
True                  #全为and,为真 ,返回最后一个计算的表达式的值作为整个表达式的值

>>>0 and 3 and 1
0                       #全为and,为假 ,返回第一个假值

>>> 0 and 3 or 1
1                          #and比or优先级高,0and3为假,返回第一个假值0,0 or1 为假,返回最后一个值1

>>> 0 and 3 or 1 or 4
1                         #and比or优先级高,0and3为假,返回第一个假值0,0 or1 为假,返回最后一个值1,1 or 4 为真,返回第一个真值

>>> 0 or False and 1
False    #  and 比or 优先级高  False and 1为假,返回第一个假值False,0 or False 为假,返回最后一个值

4、编写小程序,输入一个三角形的三边,输出它的面积,并写出运行结果。(输入能够组成三角形的边)

import math
a1=int (input("请输入第一条边: "))
a2=int (input("请输入第二条边: "))
a3=int (input("请输入第三条边: "))
p = (a1+a2+a3)/2
temp = p*(p-a1)*(p-a2)*(p-a3)
area = math.sqrt(temp)
print("该三角形的面积为:",area)

运行结果:

请输入第一条边: 3
请输入第二条边: 4
请输入第三条边: 5
该三角形的面积为: 6.0

5、编写小程序,输入两个集合setA和setB,分别输出它们的交集、并集、对称差集和差集,并写出运行结果。

setA ={1,2,3,4,5}
setB ={3,4,5,6,7}
print("交集:", setA | setB)
print("并集:", setA & setB)
print ("对称差集:",setA^setB)
print("差集setA-setB:", setA - setB)

运行结果
	交集: {1, 2, 3, 4, 5, 6, 7}
	并集: {3, 4, 5}
	对称差集: {1, 2, 6, 7}
	差集setA-setB: {1, 2}

在这里插入图片描述

6、编写小程序,输入一个三位整数,将其反向输出。如输入789,输出987。

s=input("请输入一个三位整数:")
print(s[::-1])
运行结果
请输入一个三位整数:789
987

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

a=int (input("请输入一个整数: "))
print("二进制:",bin(a)) 
print("八进制:",oct(a))  
print("十六进制:",hex(a)) 

运行结果
请输入一个整数: 85
二进制: 0b1010101
八进制: 0o125
十六进制: 0x55

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

num=input("请输入一个自然数:")
print(sum(map(int,num)))
#sum() 表示求和,map(int,num) 表示将num的各位转换成整数

运行结果
请输入一个自然数:85
13

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

from functools import reduce


SetA = eval(input("请输入一个集合列表:"))


print("并集:",reduce(lambda x,y:x | y,SetA))
print("交集:",reduce(lambda x,y:x & y,SetA))

运行结果
请输入一个集合列表:{1,2,3,4,5},{2,3,4,5,6}
并集 :{1, 2, 3, 4, 5, 6}
交集 :{2, 3, 4, 5}

10、将如下生日歌进行改善:将所有英文字母小写,去除首尾空格,将俚语替换为书面语。

string1 = ’ haPPy BiRthDAy To u’

string2 = ‘Happy biRthDAy To you’

string3 = ’ haPpy BirThdAy 2 deAr LiLi’

string4 = ’ happy birthday 2 u’

string1 = '    haPPy BiRthDAy To u'
string2 = 'Happy biRthDAy To you'
string3 = '  haPpy BirThdAy 2 deAr LiLi'
string4 = '  happy birthday 2 u'

print(string1.lower().lstrip().strip().replace("u","you"))
print(string2.lower().lstrip().strip())
print(string3.lower().lstrip().strip().replace("2","to"))
print(string4.lower().lstrip().strip().replace("2","to").replace("u","you"))
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值