Day 17 编码+文本编辑+函数

 

 

知识点篇:

#! /usr/bin/env python
# -*- coding: utf-8 -*-
# __author__ = "DaChao"
# Date: 2017/6/12

#一、编码

# s = u'林'
# s1 = s.encode('utf-8')
# s2 = s.encode('gbk')
# print(s1)
# print(s2)
#
# print(repr(s))
# print(repr(s1))
# print(repr(s2))
#
# print(type(s))
# print(type(s1))
# print(type(s2))

#二、文件处理

# f = open("a.txt","a",encoding="utf-8")   #打开,赋值文件;指定操作模式,指定编码标准
'''
r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】
w,只写模式【不可读;不存在则创建;存在则清空内容】
x, 只写模式【不可读;不存在则创建,存在则报错】
a, 追加模式【可读;   不存在则创建;存在则只追加内容】
'''
# print(f.read())               #读取内容

# print(f.readline(),end='')           #以字符串形式读取,每行
# print(f.readline(),end='')           #以字符串形式读取,每行
# print(f.readline(),end='')           #以字符串形式读取,每行
#
# print(f.readlines())           #以字符串形式读取
# f.write("yyyyyyyyyyyyyyy
")     #w或a模式下修改,追加内容

# f = open('a.txt','rb')
#
# f.seek(100,1)           #seek() 方法用于移动文件读取指针到指定位置。
# print(f.tell())
#
# f.close()                     #关闭文件

# def xing(tag):
#     print(tag+'
'+tag+'
'+tag)
#
# xing("*"*6)
# # import  os
#
# read_f = open("b.txt","r",encoding="utf-8")
# write_f = open("b.txt.swp","w",encoding="utf-8")
#
# for line in read_f
#     if "alex" in line:
#         line=line.replace("alex","ALEXSB")
#         write_f.write(line)
#     else:
#         write_f.write(line)
# read_f.close()
# write_f.close()
#
# os.remove("b.txt")
# os.rename("b.txt.swp","b.txt")


# f = open('n 11.png','r')
# # f.write('afd')
# # f.read()
# # print(f.readline(),end='')
# f1 = open('nn_22.png','w')
# f1.write(f.read())
#
#
#
# f.close()

#三、函数
知识点篇

作业篇:

#! /usr/bin/env python
# -*- coding: utf-8 -*-
# __author__ = "DaChao"
# Date: 2017/6/12

# 1、写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成批了修改操作

def work_11():
    file_name = input("Please input file name: ")
    file_y = input("Please input check your content: ")
    with open("file_name","w",encoding='utf-8') as write_f:
        write_f.write(file_y)

# work_11()

# 2、写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数

def work_2(str_1):
    for i in str_1:
        print(i,"the number is: ",str_1.count(i))
#
# work_2("sjflk jo12k3jkl jsdflj")

# 3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。

def work_3(str_3):
    count = 0
    for i in str_3:
        count += 1
    print(count)

# work_3('1,2,4,2,5,1')
# work_3(['name','dachao','age','18','level','20'])
# work_3(('name','dachao','age','18','level','20'))

# 4、写函数,检查用户传入的对象(字符串、列表、元组)的每一个元素是否含有空内容。

def strongwork_4(str_4):
    for i in str_4:
        if i.strip() == "" :    #何为空?1、只有空格;2、啥也没有====>去掉空格后,不为空即不为空。
            return ("Empty!")
    return ("NO")

# print(strongwork_4("sdafaf"))
# print(strongwork_4(['d','v ','f  ']))
# print(strongwork_4(('d','','f')))

# 5、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。


def strongwork_5(str_5):
    str_4 = []
    if len(str_5) > 2:
        str_4.append(str_5[0])
        str_4.append(str_5[1])
        str_5 = str_4
    return str_5

# print(strongwork_5(['d','v ','f  ']))
# print(strongwork_5(['d','a']))

# 6、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。

def strongwork_6(str_6):
    count = 1
    str_66 = []
    while True:
        if count <= len(str_6):
            str_66.append(str_6[count-1])
            count += 2
        else:
            break
    return str_66

# print(strongwork_6(['d','v ','f  ']))

# 7、写函数,检查传入字典的每一个value的长度, 如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。


def strongwork_7(dic_7):
    dic_new = {}
    new_1 = ""
    new_2 = ""
    for i in dic_7:
        if len(dic_7[i]) > 2:
            new_1 = dic_7[i][0]
            new_2 = dic_7[i][1]
            dic_new[i] = str(new_1) + str(new_2)
    return  dic_new

dic = {"k1": "v1v1", "k2": [11, 22, 33, 44]}
print(strongwork_7(dic))
# PS: 字典中的value只能是字符串或列表
作业篇!
原文地址:https://www.cnblogs.com/LiChaoAI/p/6993759.html