输入两个\,得到一个\
在'和"前插\使之不代表字符串的起始
注意:转义字符 \不计入字符串的内容中。
地板除:无论小数点后是多少,一律不看,只输出整数部分。
round(原数值,保留的小数位数)
取模就是算余数
特别注意: 这一系列条件判断会从上到下依次判断,如果某个判断为 True,执行完对应的代码块,后面的条件判断就直接忽略,不再执行了。
请思考以下代码将会输出什么?为什么不输出恭喜你,拿到卓越的成绩。
score = 95
if score < 60:
print('抱歉,考试不及格')
elif score >= 80:
print('恭喜你,拿到优秀的成绩')
elif score >= 90:
print('恭喜你,拿到卓越的成绩')
else:
print('恭喜你,考试及格')
中括号[]中填入两个数字,中间用冒号分开,表示子串的开始位置和结束位置,并且这是半闭半开区间,不包括最后的位置
True and 0计算结果是0
继续计算0 or 99计算结果是 99
因此,结果是99。
需要注意的是,not计算的优先级是高于and和or的。
True and not False # ==> True
在上述布尔计算中,先计算not False = True,然后再计算True and True,因此得到True的结
因为Python把0、空字符串和None看成False,其他数值和非空字符串都看成True
请定义一个square_of_sum()函数,它接收一个list,返回list中每个元素平方的和。
L = [1, 3, 5, 7, 9, 11]
def square_of_sum(L):
sum = 0
for x in L:
sum = sum + x * x
return sum
print(square_of_sum([1,2,3,4,5]))
print(square_of_sum([-5,0,5,15,25]))
sum()函数接收一个list作为参数,并返回list所有元素之和。请计算 1*1 + 2*2 + 3*3 + ... + 100*100。
a = []
b = 1
while b <= 100:
a.append(b * b)
b += 1
print(sum(a))
已知两个集合s1、s2,请判断两个集合是否有重合,如果有,请把重合的元素打印出来。
s1 = set([1, 2, 3, 4, 5])
s2 = set([1, 2, 3, 4, 5, 6, 7, 8, 9])
a = s1.isdisjoint(s2)
if not a:
for b in s1:
if b not in s2:
continue
print(b)
# 判断s1是否为s2的子集
s1.issubset(s2) # ==> True
# 判断s2是否为s1的超集
s2.issuperset(s1) # ==> True
针对以下set,给定一个list,对于list里面的每个元素,如果set中包含这个元素,就将其删除,否则添加到set里面去。
L = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
S = set([1, 3, 5, 7, 9, 11])
for a in L:
if a in S:
S.remove(a)
else:
S.add(a)
print(S)
请使用两种方式往空的set中添加以下名字:['Jenny', 'Ellena', 'Alice', 'Candy', 'David', 'Hally', 'Bob', 'Isen', 'Karl']。
a = []
a_a = set(a)
a_b = ['Jenny','Ellena','Candy','David','Hakky','Hally','Bob','lsen','Karl']
a_a.add('Alice')
print(a_a)
a_a.update(a_b)
print(a_a)
由于name_set不能识别小写的名字,请改进name_set,是小写的名字也能判断在name_set里面。
# This Python file uses the following encoding: utf-8
a = ['Alice', 'Bob', 'Candy', 'David', 'Ellena']
b = set(a)
c = 'bob'
desprition = "是班里同学"
if c in b:
print(c+desprition)
elif c.capitalize() in b:
print(c+desprition)
else:
print('查无此人')
(1)将字母切换成大写使用upper()方法(2)将字母切换成小写使用lower()方法(3)首字母大写,其余小写使用capitalize()方法(4)所有单词首字母大写,其余小写使用title()方法
请使用set表示班里面的五个同学。
'Alice', 'Bob', 'Candy', 'David', 'Ellena'
a = ['Alice', 'Bob', 'Candy', 'David', 'Ellena']
b = set(a)
print(b)
已知d = {'Alice': [50, 61, 66], 'Bob': [80, 61, 66], 'Candy': [88, 75, 90]},请输出d的元素个数。
d = {'Alice': [50, 61, 66], 'Bob': [80, 61, 66], 'Candy': [88, 75, 90],'Abcd':[70,44,83]}
a = d.keys()
print(len(a))
b = d.values()
print(len(b))
同学的近三次成绩如下,请把每个同学的每次成绩依次输出。
d = {'Alice': [50, 61, 66], 'Bob': [80, 61, 66], 'Candy': [88, 75, 90]}
for a, b in d.items():
for c in b:
print(a, c)
在dict中,使用keys()方法,可以返回dict的所有key,在删除某个元素时,可以通过这个方法先判断某个元素是否存在,请改造前面的程序,使得即使key不存在时,删除也不会抛异常。
d = {
'Alice': 45,
'Bob': 60,
'Candy': 75,
'David': 86,
'Ellena': 49
}
a = 'Alic'
if a in d.keys():
d.pop(a)
print(d)
else:
print('{} not in d'.format(a))
已有同学们的成绩如下,请更新Alice的成绩为60,并把旧的成绩记录下来。
d = {
'Alice': 45,
'Bob': 60,
'Candy': 75,
'David': 86,
'Ellena': 49
}
a = d.get('Alice')
d['Alice'] = 60
print(a)
print(d)
Alice、Bob、Candy的最近三次的成绩分别是[50, 61, 66],[80, 61, 66],[88, 75, 90],请更新dict,使得dict可以保存同学多次的成绩。
d = dict()
d['Alice'] = []
d['Bob'] = []
d['Candy'] = []
d['Alice'].append(50)
d['Alice'].append(61)
d['Alice'].append(66)
d['Bob'].append(80)
d['Bob'].append(61)
d['Bob'].append(66)
d['Candy'].append(88)
d['Candy'].append(75)
d['Candy'].append(90)
根据如下dict,打印出Alice, Bob, Candy, Mimi, David的成绩,当同学不存在时,打印None。
d = {
'Alice': 45,
'Bob': 60,
'Candy': 75,
'David': 86,
'Ellena': 49
}
a_a = ['Alice','Bob','Candy','David','Ellena','A']
for a_b in a_a:
if a_b in d:
print(a_b,d.get(a_b))
else:
print('None')
新来的Gaven同学成绩是86,请编写一个dict,把Gaven同学的成绩也加进去。
d = {
'Alice': 45,
'Bob': 60,
'Candy': 75,
'David': 86,
'Ellena': 49,
'Gaven':86
}
print(d)
T = (1, 'CH', [3, 4])
tuple里面包含list,导致tuple是可变的,请修改T的定义,不改变基本数据类型的数据,使T是不可变的。
T = (1, 'CH', (3, 4))
print(T)
tuple的元素也可以是tuple,请判断以下定义T的元素中,有多少个tuple。
T = ((1+2), ((1+2),), ('a'+'b'), (1, ), (1,2,3,4,5))
print(T)
在某次考试中,班上的成绩如下:(100, 69, 29, 100, 72, 99, 98, 100, 75, 100, 100, 42, 88, 100),请统计满分(100分)同学的数量。
a = (100, 69, 29, 100, 72, 99, 98, 100, 75, 100, 100, 42, 88, 100)
print(a.count(100))
index()会显示位置,多个只会显示第一个出现的位置
请创建一个tuple,顺序包含0~9的十个数,并尝试将其转换为列表list。
a = (0,1,2,3,4,5,6,7,8,9)
print(a)
b = list(a)
print(b)
有三个长方体,他们的长宽高分别是[1, 2, 3], [5, 3, 2], [7, 3, 2],定义在数组L中,L = [[1, 2, 3], [5, 3, 2], [7, 3, 2]],请分别求出三个长方体的表面积。
L = [[1,2,3], [5, 3, 2], [7,3,2]]
for a in L:
b = a[0]
c = a[1]
d = a[2]
e = b * c * 2 + c * d * 2 + b * d * 2
print(e)
班上某次考试,['Alice', 'Bob', 'Candy', 'David', 'Ellena'] 的成绩分别是 89, 72, 88, 79, 99,请按照成绩高低,重新排列list中同学名字的顺序。
a = ['Alice', 'Bob', 'Candy', 'David', 'Ellena']
a[0] = 'Ellena99'
a[1] = 'Alice89'
a[2] = 'Candy88'
a[3] = 'David79'
a[4] = 'Bob72'
print(a)
L = ['Alice', 'Bob', 'Candy', 'David', 'Ellena'],由于Candy,David依次转学,某同学写出以下代码,请判断以下代码是否可以正常运行?如果不可以,为什么?请帮忙修正。
题L = ['Alice', 'Bob', 'Candy', 'David', 'Ellena']
L.pop(2)
L.pop(3)
print(L)
答L = ['Alice', 'Bob', 'Candy', 'David', 'Ellena']
L.pop(2)
L.pop(2)
print(L)
班上已有同学['Alice', 'Bob', 'Candy', 'David', 'Ellena'],新来报到3名同学分别是'Zero', 'Phoebe', 'Gen',请综合利用append()方法,insert()方法,把三个同学的名字按首字母顺序插入到列表里去。
a = ['Alice', 'Bob', 'Candy', 'David', 'Ellena']
a.append('Zero')
a.insert(5,'Gen')
a.insert(6,'Phoebe')
print(a)