需要生成一个不包含0的十六进制数字列表,其中的数字之和不超过十进制的11。
到目前为止,我只想到了这个:
import itertools
nums = [list(x) for x in itertools.product((1, 2, 3, 4, 5, 6, 7, 8, 9, 'A', 'B', 'C', 'D', 'E', 'F'), repeat=7) if (x[-1] == x[-2])]
它仍然只是检查金额,但如何?
是否有可能以某种方式在 if 条件中规定 'A' = 10、'B' = 11 等等?
我对代码做了一些更改
由于最大值可以是 11 的总和,因此没有“C”、“D”、“E”、“F”——你可以离开它,但计算时间会更长
我形成从 0 到 15(或者更确切地说,从 1 到 11)的普通数,我计算它们的总和
最后我把信件清单翻译成字母
我把字母变成单词
为什么
if (x[-1] == x[-2])我在你的代码中看不懂,所以我删除了它,但如果有必要,返回编码: