在列表中选择要添加在一起的数字

嗨。我试图进入到这个脚本和做一些事情。1我想找到所有的质数的用户输入的。我在网上发现了一些代码,(下图)。那么我只希望其他'在列表中,我已经与"= primeList [1:: 2]"。我不知道如何下一部分将采取的第一个数字multi-digit '并将它添加到最后的质数,列表中的所有质数。例子:开始输入号码:125列表2的质数(113,107,101,89,79,71,61,53岁,43岁,37岁,29日,19日,13日,7日,3]1 + 3,1 + 1、1 + 7日8 + 9,7 + 9 ....等(个位数添加到自己7,3是7 + 7,3 + 3)如何通过我其他列表',让这些特定的数字要补充的吗?

选择 | 换行 | 行号
  1. def primes(n):
  2.   """ returns a list of prime numbers from 2 to < n """
  3.   if n < 2:  return []
  4.   if n == 2: return [2]
  5.   # do only odd numbers starting at 3
  6.   s = range(3, n, 2)
  7.   # n**0.5 may be slightly faster than math.sqrt(n)
  8.   mroot = n ** 0.5
  9.   half = len(s)
  10.   i = 0
  11.   m = 3
  12.   while m <= mroot:
  13.     if s[i]:
  14.       j = (m * m - 3)//2
  15.       s[j] = 0
  16.       while j < half:
  17.         s[j] = 0
  18.         j += m
  19.     i = i + 1
  20.     m = 2 * i + 3
  21.   # make exception for 2
  22.   return [2]+[x for x in s if x]
  23.  
  24. num = input("Enter number you'd like to begin with:")
  25. primeList = primes(num)
  26. print "List of prime numbers from 2 to < %d:" % num
  27. a=primeList[1::2]
  28. print a
  29.  
# 回答1

嗨谢谢你的帖子。这里有两种方法可以做到这一点:1. 数学:最后的数字是由num % 10。首先是由数量除以10的最大力量的数量小于(假设python 2.6或更低,把整数返回一个整数)。以10为底的对数的数量和舍入,然后添加1给出了电源。2. 卑鄙的转换:将整数转换成字符串(s = str (num)),然后使用第一个和最后一个数字字符串操作。然后再转换回来。在一行,假设你的' p:Sum1stLast = int (str (p) [0]) + int (str (p) [1])我还没有检查这个,很明显(p)必须int类型,但希望这有助于。
# 回答2

谢谢你的回复。我在想试图单独每个'然后尝试实现添加的第一个和最后一个数字。

选择 | 换行 | 行号
  1. for item in a:
  2.     print item
  3.  

将打印每一个单独....现在只需要找出如何做的添加"项目"。:)。

# 回答3

士兵实际上Glenton ....通过使用上面的和你的第二个建议,似乎工作!

选择 | 换行 | 行号
  1. for item in a:
  2.     Sum1stLast= int(str(item)[0]) + int(str(item)[-1])
  3.     print Sum1stLast
  4.  

现在我只需要添加所有的第一/所以我有持续1总数。

# 回答4

可以通过添加一个在你面前mySum = 0循环,然后用mySum + = sum1stLast代替你的print语句。它也不是一个坏主意让sum1stLast成一个函数,你可以调用。
# 回答5

谢谢你!正是我在寻找的。

标签: python

添加新评论