鱼C论坛

 找回密码
 立即注册
查看: 2602|回复: 3

赋值问题

[复制链接]
发表于 2015-8-12 23:00:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. from math import sqrt

  2. def prime_num(prime = 2000000):
  3.     num = 2
  4.     while num <= prime:
  5.         k = sqrt(num)
  6.         i = 2
  7.         while i <= k:
  8.             if 0 == num % i:
  9.                 break
  10.             i += 1
  11.         if i > k and num != 1:
  12.             yield num
  13.         num += 1
  14.             
  15.         

  16. def getsum(num):
  17.     string = ''
  18.     sum_ = 0
  19.     for i in prime_num(num):
  20.         sum_ += i
  21.         string += str(i)+ '+'
  22.         strin = string.rstrip('+')
  23.     print('%d以内的素数之和是:%s = %d' % (num, strin, sum_))
  24.         
复制代码

>>> getsum(10)
10以内的素数之和是:2+3+5+7 = 17


但是把strin = string.rstrip('+')改为 string = string.rstrip('+')
print('%d以内的素数之和是:%s = %d' % (num, strin, sum_))改为print('%d以内的素数之和是:%s = %d' % (num, string, sum_))

却显示
>>> getsum(10)
10以内的素数之和是:2357 = 17

为什么呢? string = string.rstrip('+') 显示的就不一样了 求解释
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-8-13 00:32:09 | 显示全部楼层
本帖最后由 无影飞飞雪 于 2015-8-13 00:35 编辑

def getsum(num):
        string = ''
        sum_ = 0
        for i in prime_num(num):
                sum_ += i
                string += str(i)+ '+'
        string = string.rstrip('+')
        print('%d以内的素数之和是:%s = %d' % (num, string, sum_))
        
注意缩进,string的话:你每次循环都把+号去掉了所以得到2357
解决办法是把它从for语句拿出来,只执行1次
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-8-13 00:34:12 | 显示全部楼层
无影飞飞雪 发表于 2015-8-13 00:32
def getsum(num):
    string = ''
    sum_ = 0

注意缩进,string的话:你每次循环都把+号去掉了所以得到2357
解决办法是把它从for语句拿出来,只执行1次
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-13 18:13:03 | 显示全部楼层
本帖最后由 笨小孩KK 于 2015-8-13 18:15 编辑

明白了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-17 04:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表