作业
1.判断下列命名方式的正确与否(建议每个都运行一遍)
# 错
1name = '债券的面值'
# 对
a_ = 12
# 对
_ = 123
# 错
_$ = 444
# 对
__ = '债券的面值'
# 错
123 = 666
# 对
a1b = 45
File "<ipython-input-1-75692b094e3d>", line 2
1name = '债券的面值'
^
SyntaxError: invalid syntax
2.F='债券的1面值'中的1去掉
#**为需要填入代码的地方
F='债券的1面值'
a=list(F) #先把string类型转化成list类型
# ** #把1去掉
a.remove('1')
F=''.join(a) #把list转成string类型
print(F)
债券的面值
3.有如下列表,按照每个小题要求写出答案并运行
a = ['中证流通', '中证100', '上证指数','上证指数', 'A股指数', 'B股指数' ,'深证F60', '上证指数','深证F120']
- 计算列表的长度并输出
- 列表中追加元素"深证F200",并输出添加后的列表
- 请在列表的第1个位置插入元素"沪深300",并输出添加后的列表
- 请将列表b=['000300', '000902', '000903']的每一个元素添加到列表li中,一行代码实现,不允许循环添加。
- 请删除列表中的元素"上证指数",并输出添加后的列表
- 请删除列表中的第2个元素,并输出删除的元素和删除元素后的列表
- 请删除列表中的第2至4个元素,并输出删除元素后的列表
- 请将列表所有得元素反转,并输出反转后的列表
- 请计算出"'上证指数',"元素在列表a中出现的次数,并输出该次数。
a = ['中证流通', '中证100', '上证指数','上证指数', 'A股指数', 'B股指数' ,'深证F60', '上证指数','深证F120']
print(len(a))
9
a.append('深证F200')
print(a)
['中证流通', '中证100', '上证指数', '上证指数', 'A股指数', 'B股指数', '深证F60', '上证指数', '深证F120', '深证F200']
b=['000300', '000902', '000903']
li=[]
li.extend(b)
print(li)
['000300', '000902', '000903']
a.remove('上证指数')
print(a)
['中证流通', '中证100', '上证指数', 'A股指数', 'B股指数', '深证F60', '上证指数', '深证F120', '深证F200']
a.pop(1)
'中证100'
print(a)
['中证流通', '上证指数', 'A股指数', 'B股指数', '深证F60', '上证指数', '深证F120', '深证F200']
del(a[1:4])
print(a)
['中证流通', '深证F60', '上证指数', '深证F120', '深证F200']
4. 定义一个函数计算债券现值
ABC公司发行了一个10年期的债券,面值为¥1000,票面利率为8%,到期兑付本金,每年末支付利息。请计算债券的现值。债券的现值 = 本金的现值 + 利息的现值
本金的现值=
利息的现值=
其中,
- F=债券的面值=1000
- C=债券票息率=8%
- T=债券到期前发生的周期数量=10
- r=市场年收益率=10%
#**为需要填入代码的地方
def Count(F, C, T, r): #传入参数
a = F/(1+r)**T #定义计算方式 本金的现值
i=1
b=0 #初始化利息的现值
while i<T: #定义计算方式 利息的现值
b = b+C*F/(1+r)**i
i = i + 1
return a+b #返回债券现值
#定义各项参数
F=1000
C=0.08
T=10
r=0.1
print(F,C,T,r)#输出各项参数
print(Count(F, C, T, r)) #输出债券现值
1000 0.08 10 0.1
846.2651947315433
END