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

2-16 阶段考核

时间:2018-02-02 11:54:47      阅读:290      评论:0      收藏:0      [点我收藏+]

标签:团队   stdin   .com   height   ack   input   idt   序列   split   

 

 

1,口述问题

  1. 学会看英文文档,源码目前不涉及
  2. 好的程序员,不能只懂一门语言,
  3. C语言,底层,推荐书目
  4. 变量命名规则和团队保持一致
  5. 编码格式(比较模糊)

 技术分享图片

技术分享图片

 

 

2.不会的问题

编码格式:

    python2解释器是ASCII
    python3解释器是UTF-8

python2中
    bytes = str
    Unicode是独立的类型
    

python3
    str是unicode编码
    所有的unicode字符编码后都是bytes格式

 

3.考题

    技术分享图片

    技术分享图片

 

# -*- coding:utf-8 -*-

# s = "www.luffycity.com"
# print(s.split(.))

# 2. 切割字符串"luffycity""luffy","city"

# s1 = "luffycity"
# s1_1 = s1[0:5]
# s1_2 = s1[5:]
# print(s1_1,s1_2)

# 5. 有如下字符串:n = "路飞学城"
#     - 将字符串转换成utf-8的字节,再将转换的字节重新转换为utf-8的字符串
#     - 字符串转换成gbk的字节,再将转换的字节重新转换为utf-8的字符串

# n = "路飞学城"
#
#
# print(n,type(n))
# print(n.encode(utf-8))
# print(n.encode(utf-8).decode(utf-8))
# print(n.encode(gbk))
# print(n.encode(gbk).decode(utf-8))

# 列表[alex,egon,yuan,wusir,666]
# - 1.把666替换成999
#     - 2.获取yuan索引

# li = [alex,egon,yuan,wusir,666]
#
# li[-1] = 999
# li.index(yuan)
# li[-3:]


# 2. 将列表[alex, steven, egon] 中的每一个元素使用 ‘\_’ 连接为一个字符串
# li = [alex, steven, egon]
#
# print(\_.join(li))

# 4. 对列表进行增删改查。
    # - [alex,egon,wusir,wen,jing]
# li = [alex,egon,wusir,wen,jing]
# li.remove(li[2])
# li.insert(2,json)
# print(li)

# 对字典进行增删改查
# dic = {"Development":"开发小哥","OP":"运维小哥","Operate":"运营小仙女","UI":"UI小仙女"}
# del dic[Development]
# dic[Development] = 开发小哥

# 3. 编写一个python程序,输入两个数,比较它们的大小并输出其中较大者。
a = input("输入数字a:")
b = input("输入数字b:")

if a.isdigit() and b.isdigit():
    if int(a) > int(b):
        print(a)
    else:
        print(b)
else:
    print("请重新输入")

 

 

 4.frozenset:不可变集合

  set()和 frozenset()工厂函数分别用来生成可变和不可变的集合。如果不提供任何参数,默认
  会生成空集合。如果提供一个参数,则该参数必须是可迭代的,即,一个序列,或迭代器,或支持
  迭代的一个对象,例如:一个列表或一个字典。

 

>>> s=set(cheeseshop)  使用工厂方法创建
>>> s
{h, c, o, s, e, p}
>>> type(s)
<type set>

>>> s={chessseshop,bookshop}直接创建,类似于list的[]和dict的{},不同于dict的是其中的值,set会将其中的元素转换为元组
>>> s
{bookshop, chessseshop}
>>> type(s)
<type set>

不可变集合创建:
>>> t=frozenset(bookshop)
>>> t
frozenset({h, o, s, b, p, k})

 

 

 1 >>> s.add(z)  #添加
 2 >>> s
 3 set([c, e, h, o, p, s, z])
 4 >>> s.update(pypi) #添加
 5 >>> s
 6 set([c, e, i, h, o, p, s, y, z])
 7 >>> s.remove(z) #删除
 8 >>> s
 9 set([c, e, i, h, o, p, s, y])
10 >>> s -= set(pypi)#删除
11 >>> s
12 set([c, e, h, o, s])
13 >>> del s  #删除集合

 

只有可变集合能被修改。试图修改不可变集合会引发异常。

1 >>> t.add(z)
2 Traceback (most recent call last):
3 File "<stdin>", line 1, in ?
4 AttributeError: frozenset object has no attribute add

 

 

5.函数:string.join()

Python中有join()和os.path.join()两个函数,具体作用如下:
    join():    连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串
    os.path.join():  将多个路径组合后返回

 

 

1、join()函数

语法:  sep.join(seq)

参数说明
sep:分隔符。可以为空
seq:要连接的元素序列、字符串、元组、字典
 上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串

返回值:返回一个以分隔符sep连接各个元素后生成的字符串



2、os.path.join()函数

语法:  os.path.join(path1[,path2[,......]])

返回值:将多个路径组合后返回

注:第一个绝对路径之前的参数将被忽略

 

 

#对序列进行操作(分别使用‘ ‘与‘:‘作为分隔符)
 
>>> seq1 = [hello,good,boy,doiido]
>>> print  .join(seq1)
hello good boy doiido
>>> print :.join(seq1)
hello:good:boy:doiido
 
 
#对字符串进行操作
 
>>> seq2 = "hello good boy doiido"
>>> print :.join(seq2)
h:e:l:l:o: :g:o:o:d: :b:o:y: :d:o:i:i:d:o
 
 
#对元组进行操作
 
>>> seq3 = (hello,good,boy,doiido)
>>> print :.join(seq3)
hello:good:boy:doiido
 
 
#对字典进行操作
 
>>> seq4 = {hello:1,good:2,boy:3,doiido:4}
>>> print :.join(seq4)
boy:good:doiido:hello
 
 
#合并目录
 
>>> import os
>>> os.path.join(/hello/,good/boy/,doiido)
/hello/good/boy/doiido

 

 

 

---恢复内容结束---

2-16 阶段考核

标签:团队   stdin   .com   height   ack   input   idt   序列   split   

原文地址:https://www.cnblogs.com/venicid/p/8403542.html

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