欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python第二章作业

程序员文章站 2022-07-14 20:05:37
...

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}

Python第二章作业

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"))
相关标签: Python