码迷,mamicode.com
首页 > 其他好文 > 详细

ptyhon日常练习(三)

时间:2019-08-15 22:58:02      阅读:292      评论:0      收藏:0      [点我收藏+]

标签:等于   32位   推导式   比较   remove   写代码   飞机   lis   代码   

# 1. 简述解释性语言和编译型语言的区别?
"""
解释性语言:由解释器从上而下执行,直接交给计算机处理,缺点如果代码语法有问题,就会造成程序奔溃,但跨平台性比较好,代表py,php,ruby
编译型语言:先打包生成可执行文件,再交由计算机处理,如果代码语法有问题,是无法变成成功的。执行效率也高,但跨平台较差,代表c,c++,go,java
"""

# 2. 列举你了解的Python的数据类型?
"""
int 整数型 py2有32位和64位的区分,py3没有再区分
bool 布尔值 True False
string 字符串 无法直接修改,是可哈希的,每次修改等于生成新的字符串
list 列表 是可变长度,支持增删改查的操作
tuple 元组 不可变长度,支持查询,其余的不行,但可以清空元组
dict 字典  有键和属性的标识,在一个字典中键值是唯一的。
"""

# 3. 写代码,有如下列表,按照要求实现每一个功能。

li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]

#    - 计算列表的长度并输出
n=len(li)
print(n)
#    - 请通过步长获取索引为偶数的所有值,并打印出获取后的列表
print(li[::2])
#    - 列表中追加元素"seven",并输出添加后的列表
li.append("seven")
print(li)
#    - 请在列表的第1个位置插入元素"Tony",并输出添加后的列表
li.insert(0,"Tony")
print(li)
#    - 请修改列表第2个位置的元素为"Kelly",并输出修改后的列表
li[1] = "Kelly"
print(li)
#    - 请将列表的第3个位置的值改成 "太白",并输出修改后的列表
li[2] = "太白"
print(li)
#    - 请将列表 l2=[1,"a",3,4,"heart"] 的每一个元素追加到列表li中,并输出添加后的列表
l2=[1,"a",3,4,"heart"]
li.extend(l2)
print(li)
#    - 请将字符串 s = "qwert"的每一个元素添加到列表li中,一行代码实现,不允许循环添加。
s = "qwert"
li.extend(s)
#    - 请删除列表中的元素"ritian",并输出添加后的列表
li.remove("ritian")
print(li)
#    - 请删除列表中的第2个元素,并输出删除元素后的列表
li.pop(1)
print(li)
#    - 请删除列表中的第2至第4个元素,并输出删除元素后的列表
l_r = li[1:5]
for i in l_r:
    if i in li:
        li.remove(i)
print(li)

#4. 请用三种方法实现字符串反转 name = "小黑半夜三点在被窝玩愤怒的小鸟"(步长、while、for)
name = "小黑半夜三点在被窝玩愤怒的小鸟"
name1 = name[::-1]
print(name1)
name2 = ‘‘

for i in name[::-1]:
    name2 +=i
print(name2)

name3 = ‘‘
index = -1
while True:
    name3 += name[index]
    if index == -15:
        break
    index += -1
print(name3)

# 5. 写代码,有如下列表,利用切片实现每一个功能
li = [1, 3, 2, "a", 4, "b", 5,"c"]
#    - 通过对li列表的切片形成新的列表 [1,3,2]
li1 = li[:3]
print(li1)
#    - 通过对li列表的切片形成新的列表 ["a",4,"b"]
li2 = li[3:6]
print(li2)
#    - 通过对li列表的切片形成新的列表  [1,2,4,5]
li3 = li[::2]
print(li3)
#    - 通过对li列表的切片形成新的列表 [3,"a","b"]
li4 = li[1:6:2]
print(li4)
#    - 通过对li列表的切片形成新的列表 [3,"a","b","c"]
li5 = li[1::2]
print(li5)
#    - 通过对li列表的切片形成新的列表  ["c"]
li6 = li[-1]
print(li6)
#    - 通过对li列表的切片形成新的列表 ["b","a",3]
li7 = li[-3:0:-2]
print(li7)

# 6. 请用代码实现循环输出元素和值:users = ["武沛齐","景女神","肖大侠"] ,如:
#
#    ```python
#    0 武沛齐
#    1 景女神
#    2 肖大侠
#    ```

#第一种方法
users = ["武沛齐","景女神","肖大侠"]
for i in enumerate(users):
    print("%s %s"%(i[0],i[1]))

#第二种方法
for i in range(len(users)):
    print("%s %s"%(i,users[i]))


# 7. 请用代码实现循环输出元素和值:users = ["武沛齐","景女神","肖大侠"] ,如:
#
#    ```python
#    1 武沛齐
#    2 景女神
#    3 肖大侠
#    ```

#第一种方法
users = ["武沛齐","景女神","肖大侠"]
for i in enumerate(users,1):
    print("%s %s"%(i[0],i[1]))

#第二种方法
for i in range(len(users)):
    print("%s %s"%(i+1,users[i]))


# 8. 写代码,有如下列表,按照要求实现每一个功能。
#
#    ```python
#    lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
#    ```

lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]

#    - 将列表lis中的"k"变成大写,并打印列表。
lis[2] = lis[2].upper()
print(lis)
#    - 将列表中的数字3变成字符串"100"
lis[1] = str(3+97)
print(lis)
#    - 将列表中的字符串"tt"变成数字 101
lis[3][2][1][0] = 101
print(lis)
#    - 在 "qwe"前面插入字符串:"火车头"
lis[3].insert(0,"火车头")
print(lis)


# 9. 写代码实现以下功能
#
#    - 如有变量 googs = [‘汽车‘,‘飞机‘,‘火箭‘] 提示用户可供选择的商品:
#
#      ```python
#      0,汽车
#      1,飞机
#      2,火箭
#      ```
#
#    - 用户输入索引后,将指定商品的内容拼接打印,如:用户输入0,则打印 您选择的商品是汽车。

googs = [汽车,飞机,火箭]
infor = ‘‘‘0,汽车
1,飞机
2,火箭
‘‘‘
print(infor)
n = int(input("请输入对应的商品的序号,来选择你要购买的内容:"))
if n > len(googs) -1:
    print("输入有误,请重新执行程序,再次输入:")
else:
    print("你选择的商品是%s"%(googs[n]))


# 10. 请用代码实现
#     li = "alex"
#     利用下划线将列表的每一个元素拼接成字符串"a_l_e_x"
li = "alex"
li1 = "_".join(li)
print(li1)




# 11. 利用for循环和range找出 0 ~ 100 以内所有的偶数,并追加到一个列表。

li = []
for i in range(101):
    if i % 2 == 0:
        li.append(i)
    else:
        continue
print(li)



# 12. 利用for循环和range 找出 0 ~ 50 以内能被3整除的数,并追加到一个列表。
li = []
for i in range(50):
    if i == 0:
        continue
    elif i % 3 ==0:
        li.append(i)
print(li)



# 13. 利用for循环和range 找出 0 ~ 50 以内能被3整除的数,并插入到列表的第0个索引位置,最终结果如下:
# #
# #     ```python
# #     [48,45,42...]
# #     ```
#
# li = []
# for i in range(50,-1,-1):
#     if i == 0:
#         continue
#     elif i % 3 ==0:
#         li.append(i)
# print(li)

# 14. 查找列表li中的元素,移除每个元素的空格,并找出以"a"开头,并添加到一个新列表中,最后循环打印这个新列表。

#第一种方法
li = ["TaiBai ", "alexC", "AbC ", "egon", " riTiAn", "WuSir", "  aqc"]
li1 = []
for i in li:
    s = i.strip()
    if s.startswith("a"):
        li1.append(s)
print(li1)

#第二种方法 列表推导式
li2 = [i.strip() for i in li if i.strip().startswith(a)]
print(li2)




# 15. 判断是否可以实现,如果可以请写代码实现。
li = ["alex",[11,22,(88,99,100,),33] ,"WuSir", ("ritian", "barry",), "wenzhou"]

#     - 请将 "WuSir" 修改成 "武沛齐"
li[2] = "武沛齐"
print(li)
#     - 请将 ("ritian", "barry",) 修改为 [‘日天‘,‘日地‘]
#不能,元组不能被修改
#     - 请将 88 修改为 87
#不能,元组不能被修改
#     - 请将 "wenzhou" 删除,然后再在列表第0个索引位置插入 "文周"
li.pop(-1)
li.insert(0,"文周")
print(li)

 

ptyhon日常练习(三)

标签:等于   32位   推导式   比较   remove   写代码   飞机   lis   代码   

原文地址:https://www.cnblogs.com/jinyan-huang/p/11360889.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!