python_错题本

332 阅读4分钟

 

1.转义: 右斜杠  \       除: 左斜杠    /


2. 报错类型

print('hello')     print(“hello”)

#中文圆括号、引号,出现以下错误

SyntaxError: invalid character in identifier(翻译:标识符中无效字符)

print(萨达)     #不加引号,会出现以下错误

变量没定义


3.python代码块知识

  • Python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断
  • Python利用冒号和代码缩进来决定代码块范围 
  •  一个代码块语句内必须包含等量的缩进空白

4. Python 中的位与运算符是:&

位或运算符:|

位异或运算符: ^

位取反运算符:~


5.在算术运算符中使用%求余,如果除数是负数,那么取得的结果一定是0!


6.变量a被多次赋值并改变了数据类型,程序运行时不报错

a = 1
a = 'a'
print(a)         #正常输出'a',不会报错

7.Python中的非法语句:

.    

x=(y=z+1)     SyntaxError: invalid syntax

8. 定义列表     x = [1,2,3,4]


9.列表相加 顺序不变

a = [1,3,5,7,9]

b = [2,4,6,8,10]

print(a+b)     #输出--->[1,3,5,7,9,2,4,6,8,10]

10.  集合中添加元素    .add()     不能是.append()


11.列表排序   .sort()  括号内参数reverse默认是False,升序     

  当reverse= True ,降序   


12.try中的‘t’是小写


13.关键字   in   用于测试一个对象是否是一个可迭代对象的元素。


14.从上到下,依次执行循环结构

n = s = 0

while n <= 98:        #首先一直while循环直到n=99
    n += 1
if n % 2 == 0:        #n=99,99%2不等于0
    s -= n
else:
    s += n            #s = 0+99 =99

print(s)              #输出99

15. 当迭代中有两个相同的元素,遍历查找索引时,两次都是输出第一次出现的元素的索引

l = [3,5,3,6,5]

l2 = [l.index(i)for i in l if i ==3] # 查找元素为3的索引
l3 = [l.index(i)for i in l if i ==5] # 查找元素为5的索引

print(l2) #[0,0] 
print(l3) #[1,1]

16.内外变量名相同,近者优先

ls = ["car", "truck"]


def funC(a):
    ls = []

    ls.append(a)

    return


funC("bus")
  
print(ls)  # ['car','truck']

17.int()第二个参数指定进制

n = int('11111', 2) # 二进制'11111'转换为十进制为:31
print(n)  # 31

18.prin方法sep参数指定输出元素之间加的字符

print() 
print(1,2,3,sep=':') # 1:2:3

19. isinstance() # 判断是否是一个已知类型的数据

print(isinstance('Hello world', str)) # True
print(isinstance(4j, (int, float, complex))) # 三个里面其中一个 就True

20.在Python 3.x中可以使用中文作为变量名。

智障 = 'ss'

print(智障)


21.在Python 3.5中运算符+不仅可以实现数值的相加、字符串连接,还可以实现列表、元组的连接和集合的并集运算。 集合不能用'+'求并集

lst1 = [1, 2, 3]
lst2 = [4, 5, 6]
lst = lst1 + lst2
print(lst) # [1, 2, 3, 4, 5, 6]
tup1 = (1, 2, 3)
tup2 = (4, 5, 6)
tup = tup1 + tup2 
print(tup) # (1, 2, 3, 4, 5, 6)
set1 = {1, 2, 3}
set2 = {4, 5, 6}
set = set1 + set2  # 报错
print(set)

22.Python 3.x的range()函数返回一个range对象

s = range(1)
print(type(s))  #  <class 'range'>

23.编写程序,生成包含1000个0到100之间的随机整数,并统计每个元素的出现次数。

方法一:

import random

l = [random.randint(1,100) for i in range(1000)]
s = set(l)
for i in s:
    print(i,':',l.count(i))

方法二:

import random

l = []
def js():
    global l
    for i in range(1000):
        n = random.randint(0, 100)
        l.append(n)

js()
print(l)
s = set(l)
for i in s:
    print(i,l.count(i))

24.编写程序,用户输入一个列表和2个整数作为下标,然后使用切片获取并输出列表中介于2个下标之间的元素组成的子列表。 例如用户输入[1, 2, 3, 4, 5, 6]和2,5,程序输出[3, 4, 5, 6]。

def qie():
    lst = eval(input('请输入一个列表:'))
    a = tuple(input('请输入两个数,并且以逗号隔开:'))
    b = int(a[0])
    c = int(a[2])
    lst2 = lst[b:c+1]
    print(lst2)

qie()

25.编写程序,生成包含20个随机数的列表,然后将前10个元素升序排列,后10个元素降序排列,并输出结果。

import random

l = [random.randint(1,100) for i in range(20)]
l[:10] = sorted(l[:10])
l[10:] = sorted(l[10:],reverse=True)
print(l)

26.使用列表推导式生成包含10个数字5的列表,语句可以写为

l = [5 for i in range(10)]
print(l)

27.使用切片操作在列表对象x的开始处增加一个元素3的代码为

l = [1,2,4,5]
l[0:0] = 3 # 报错 TypeError: can only assign an iterable
l[0:0] = [3]
print(l)

 


28.语句sorted([1, 2, 3], reverse=True) == reversed([1, 2, 3])执行结果为

l = [1,2,3]
a = sorted(l, reverse=True)  # 需要接收返回值
print(a)
b = reversed(l)  # 没有返回值  接收到的是地址
print(b)

29.表达式sorted([111, 2, 33], key=lambda x: len(str(x)))的值为

l = sorted([111, 2, 33], key=lambda x: len(str(x)))# 根据长度排列
print(l)
l = sorted([111, 2, 33], key=lambda x: -len(str(x)))
print(l)
s = max([111, 22, 3], key=str) #askii码
print(s)

30.字典get方法,根据指定的键获取对应的值

print({1:'a',2:'b',3:'c'}.get(4,'d')) # 键不存在时,返回指定的值

31.python列表的sort方法返回None


x = [2,5,1]
x = x.sort(reverse=True)
print(x)  # None

32.enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标

enumerate(sequence, [start=0])  索引默认从零开始
x = [1, 2]
print(list(enumerate(x))) #[(0, 1), (1, 2)]

33.列表推导式双层迭代

lst = [[1, 2], [3, 4]]
lst2 = [[s[i] for s in lst] for i in range(len(lst[0]))]
print(lst2)  # [[1, 3], [2, 4]]

34.x[:]前后相同 

x = [1,2,3,4]
y = x[:]
print(y) # [1,2,3,4]

35. round() 参数为浮点数,四舍五入


36.python 中 值完全相等的两个变量的内存地址相同