-
python 遍历一个dict、set类型的同时,并且在改变这个变量的长度或者一边遍历一边修改,这时候就会抛出这错误:RuntimeError: Set changed size during iteration
注意!
该小节的作业建议多次做,看了答案后才做对,刚开始想的是用两个for 循环,但是会出现上述报错的情况。
L = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
S = set([1, 3, 5, 7, 9, 11])
for s in S:
for l in L:
if l==s:
print('l=s')
S.remove(s)
else:
print('l!=s')
S.add(l)
print(S)查看全部 -
names=['Jenny', 'Ellena', 'Alice', 'Candy', 'David', 'Hally', 'Bob', 'Isen', 'Karl']
s=set()
for i in names:
s.add(i) #注意这里可以用for,没必要一个一个的add
print(s)
s.update(names)
print(s)查看全部 -
names = ['Alice', 'Bob', 'Candy', 'David', 'Ellena']
new_names=[]#注意,这里用了一个空列表来存放小写的名字,如果直接用names来存放,会导致for循环死循环,应该是因为每循环一次,列表就多了一个元素,所以会死循环
for i in names:
name_lower=i.lower()
new_names.append(name_lower)
print(new_names)#输出['alice', 'bob', 'candy', 'david', 'ellena']
#往大写的列表里添加小写列表
for i in new_names:
if i not in names:
names.append(i)
print(names)#['Alice', 'Bob', 'Candy', 'David', 'Ellena', 'alice', 'bob', 'candy', 'david', 'ellena']
if 'bob' in names:
print('Yes') #输出Yes
else:
print('No')查看全部 -
s=set(['Alice', 'Bob', 'Candy', 'David', 'Ellena'])
print(s)
names = ['Alice', 'Bob', 'Candy', 'David', 'Ellena']
name_set = set(names)
print(name_set)查看全部 -
3-3 整数和浮点数
一、整数和浮点数 可以进行 加减乘除 四则运算
二、PY数字支持 用% 进行取模运算,既a/b的余数,如:
print(3%2) 取模运算的结果=1
print(33%5) =3
取模运算的一个重要运用:可以判断一个数是否为偶数,但必须是这个数对2取模运算,当结果为0时,这个为偶数,否则为奇数。如: print(3%2) 结果是1 ,因此3为奇数
print(100%2) 结果是0,因此100是偶数
三、地板除 既取a除以b结果的整数部分,用//表示,如:
10//4 --->2 10//3 --->3
四、除法保留小数点后若干位的方法:用round()函数,()括号内必须有两个参数:前一个参数是要保留小数点位数的数值,后一个参数是要保留的位数。如:
a=10/3 # 先定义变量a
round(a,2) --->3.33 #直接用round()函数输出 得到的结果是保留两位小数的变量a的结果
再如:一个长方形的长为3.14cm,宽为1.57cm,请计算这个长方形的面积,保留小数点后两位。
a=3.14
b=1.57
round(a*b,2)---->4.93
或 a=3.14*1.57
round(a,2) ------>4.93
查看全部 -
#方法一:
d = {'Alice': [50, 61, 66], 'Bob': [80, 61, 66], 'Candy': [88, 75, 90]}
count=0
for key in d.values():
count=count+1
print(count)
#方法二:
d = {'Alice': [50, 61, 66], 'Bob': [80, 61, 66], 'Candy': [88, 75, 90]}
keys = d.keys()
print(len(keys))查看全部 -
d = {'Alice': [50, 61, 66], 'Bob': [80, 61, 66], 'Candy': [88, 75, 90]}
for key,value in d.items():
for score in value: #注意为了满足依次输出,还需加上此条件
print(key,score)查看全部 -
一、python 的数据类型:
(一)整数(int) 如:1,22,-85.........
(二)浮点数 如:0.5 , 3.14159 ,-0.875 。。。。。。
也可以用科学计数法,把10用e代替,如:1.23*10^9(10的9次方)就是1.23e9 0.000012就是1.2e-5(三)字符串 一个句子 或 一段话 必须以''或“”括起来 如:'abc'...
(四)布尔值 对 或 错 (true 或 false)
可用and or not 运算,其中:
and 是“与”运算,当所有都为 True,and运算结果才是 True。
or 是“或”运算,只要有一个为True, or运算的结果就是True
not 是“非”运算,它是一个单目运算符,把 True 变成 False,False 变成 True。(五)空值 用None 表示 与数字‘0’不同
查看全部 -
tuple的元素也可以是tuple,请判断以下定义T的元素中,有多少个tuple。
T = ((1+2), ((1+2),), ('a'+'b'), (1, ), (1,2,3,4,5))
参考答案:
3个
第一个元素(1+2),第三个元素('a'+'b'),计算的结果分别是数字3和字符串ab,不是tuple。查看全部 -
有三个长方体,他们的长宽高分别是[1, 2, 3], [5, 3, 2], [7, 3, 2],定义在数组L中,L = [[1, 2, 3], [5, 3, 2], [7, 3, 2]],请分别求出三个长方体的表面积。
#自己的代码比较死板,加上for循环会好很多
print("#长方体的表面积=(长×宽+长×高+高×宽)×2")
L = [[1, 2, 3], [5, 3, 2], [7, 3, 2]]
L1= (L[0][0]*L[0][1] + L[0][0]*L[0][2] + L[0][1]*L[0][2])*2
print(L1)
L2= (L[1][0]*L[1][1] + L[1][0]*L[1][2] +L[1][1]*L[1][2] )*2
print(L2)
L3= (L[2][0]*L[2][1] + L[2][0]*L[2][2] + L[2][1]*L[2][2] )*2
print(L3)
#标准答案思路
L = [[1,2,3], [5, 3, 2], [7,3,2]]
for i in L: #留意下这里二维列表的遍历结果: [1, 2, 3]、[5, 3, 2]、[7, 3, 2]
length=i[0]#这里print(length)的结果:1 5 7,第一次循环时,cube是[1, 2, 3],所以cube[0]就是1,以此类推,就把所有长方体的长给取出来了
width=i[1]#第一次循环时,cube是[1, 2, 3],直接通过下标把一个长方体的长宽高取出来
height=i[2]
result=( length*width + length*height + width*height )*2
print(result)查看全部 -
s1 = 'ABC' s2 = '123' for x in s1: for y in s2: print(x + y)查看全部
-
整数(十进制,二进制,十六进制)
浮点数
布尔值
空值none查看全部 -
1、使用终端运行python程序
2、使用编辑器运行python程序查看全部 -
编辑环境、运行环境查看全部
-
使用缩进作为逻辑层次查看全部
举报