一,程序的控制结构
(1)请编写代码,完成功能:由键盘输入行数 n, 例如 n=6, 实现下面图像(金字塔型)的打印输出。
while True: #运行完一次再来一次
try:
n = int(input("请输入行数:")) #输入需要的行数n
for line in range(1,n+1): #锁定行,每一行单独打印
print(" "*(n-line),"*"*(2*line-1)) #根据图示关系找出要想形成金字塔形需要提前设定的空格数和所需要的*数,使用%格式化也可以,但是format格式化怎么试都不行
except ValueError:
print("按常识性要求输入!") #防止不按套路出牌的情况发生
(2)对代码进行注释,并说程序的设计思路。
如上
二、组合数据类型
(1)列表L=['b', 'c', 'd', 'c', 'b', 'a', 'a'],去除重复元素并输出新列表。
#法一
L = ['b', 'c', 'd', 'c', 'b', 'a', 'a']
set_L = set(L)
distinct_L = list(set_L)
distinct_L.sort(reverse = False)
print(distinct_L)
#法二
L = ['b', 'c', 'd', 'c', 'b', 'a', 'a']
distinct_L = []
for i in L:
if i not in distinct_L:
distinct_L.append(i)
distinct_L.sort(reverse = False)
print(distinct_L)
(2)有如下字典dict = {"k1":"v1","k2":"v2","k3":"v3"},要求增加一个键值对"k4":"v4",然后遍历输出所有键值对。
dict = {"k1":"v1","k2":"v2","k3":"v3"}
dict["k4"] = "v4"
print(dict)
list_dict = dict.items()
for i in list_dict:
print(i)