编写函数

如何编写一个函数来打印a到b(含)范围内所有数字属于集合(1,3,4,8,9)的所有数字。该函数接受两个整型参数:A和B...
我理解这个问题,并且我看到了(dictionary.txt)的一个例子,但它是为了检查单词中的元音。因此,对于这个,我不知道如何检查用户希望的范围内的那些数字……假设从10000到100万

# 回答1


第一个障碍是将数字转换为单个数字的列表,并创建一个

对象从列表中删除。然后你就可以做
Set1.issubset(S0)
以确定是否所有数字都在集合(1,3,4,8,9)中。有几种方法可以让我不假思索地做到这一点。这可能是最简单的:

选择 | 换行 | 行号
  1. >>> n = 1234567890
  2. >>> list(str(n))
  3. ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']
  4. >>> map(int, list(str(n)))
  5. [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
  6. >>> [int(i) for i in list(str(n))]
  7. [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
  8. >>> set([int(i) for i in list(str(n))])

另一种方法是使用
Divmod()

选择 | 换行 | 行号
  1. def numtodigits(n):
  2.     output = []
  3.     while True:
  4.         a,b = divmod(n, 10)
  5.         output.insert(0, b)
  6.         n = a
  7.         if not a: return output
  8. '''
  9. >>> numtodigits(1230)
  10. [1, 2, 3, 0]
  11. >>> 
  12. '''

标签: python

添加新评论