交换两个变量的值
临时变量
>>>temp = a >>>a = b >>>b = temp
求和(差)法
>>>a = a + b >>>b = a - b >>>a = a - b
异或( 乘除幂)法
>>>a ^= b >>>b ^= a >>>a ^= b
交叉赋值
>>>a, b = b, a
使用 for 循环遍历 字典 的三种方法
for key in dict: print("{} : {}".format(key, dict[key])) for key in dict.keys(): print("{} : {}".format(key, dict[key])) for key, value in dict print("{} : {}".format(key, value))
输出所有的三位水仙花数。(水仙花数:各位上数字的立方数相加等于该数本身)
for x in range(1, 10): for y in range(10): for z in range(10): s = x*100 + y*10 + z f = x**3 + y**3 + z**3 if s == f: print(s)
如何实现约瑟夫环(约瑟夫环:假设有 n 个人坐成一圈,从第 n 个人开始报数,数到 k 的人出圈,接着从出圈的下一个人开始重新报数,数到 k 的人再次出圈,如此反复,直到所有人都出圈,请列出出圈顺序。
def josefu(n, k): loop = list(range(1,n + 1)) i = k for loop_i in range(n): i = (i+k) % len(loop) i -= 1 print(loop[i]) del loop[i] if i == -1: i=0 if __name__ == '__main__': josefu(11, 3)
将两个列表(元组、字符串)合并为一个字典
# 方法一(使用zip) tmp = dict(zip(list1, list2)) # 方法二(使用生成式) tmp = { list1[i] : list2[i] for i in range(len(list1))} # 方法三(lambda) tem = dict(map(lambda x, y : [x, y], list1, list2))