跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 小弟又来请教python入门问题了
未分類
12 2 月 2020

小弟又来请教python入门问题了

sel 大佬有话说 :

小弟又来请教python入门问题了

学编程第五天,现在是在编一个查找完美数的程序,但是不能运行,自己研究半天没找到问题,求大佬帮助yc002t
count = int(input())
is_perfect = 0
for i in range(count):
    for j in range(i/2+1):
      if i/j == 0:
            is_perfect += j
      if is_perfect == i:
            print(‘%d ‘ % is_perfect)
            is_perfect = 0

夕日 大佬有话说 :

sel 大佬有话说 : 2020-2-11 23:40
啊 还真的是 谢谢大佬值点 我再去研究下

上面那条回复更新了一下,你的代码还有其他问题,,,,,,

mfcer 大佬有话说 :

runoob.com/python/python-tutorial.html万丈高楼平地起

夕日 大佬有话说 :

本帖最后由 夕日 于 2020-2-11 23:43 编辑

range()接受的参数需要是整数,你这能保证i/2+1是整数吗,,,,,,
并且这种东西应该有报错的吧,你都不看的吗?看不懂的话随便复制一下都能搜到一堆教程啊,,,,,,
再问出这种问题的话,我只能说你真的不适合编程(非贬低,纯建议,因为你连最基础的搜索都做不到)yc022t
————————-
正好打开了vscode,随手复制了跑了一下,我靠你这代码,无语了
第三行 range()需要整数参数
第五行j可能为0,而0不能作为除数
再下面懒得试了,,,,,,

cherbim 大佬有话说 :

本帖最后由 cherbim 于 2020-2-12 00:14 编辑

贴个错误提示啊
PS:i 和 j 取值从1开始而不是0,i/j不对,不是除以,是求余 %,第二个if缩进有问题,应在第二个for外,最后一行缩进和第二个if应该同等地位

sel 大佬有话说 :

夕日 大佬有话说 : 2020-2-11 23:36
range()接受的参数需要是整数,你这能保证i/2+1是整数吗,,,,,,
并且这种东西应该有报错的吧,你都不 …

啊 还真的是yc020t 谢谢大佬值点 我再去研究下

sel 大佬有话说 :

夕日 大佬有话说 : 2020-2-11 23:42
上面那条回复更新了一下,你的代码还有其他问题,,,,,,

count = int(input())
is_perfect = 0
for i in range(count):
    for j in range(1,int(i/2)+1):
      if i%j == 0:
            is_perfect += j
      if is_perfect == i:
            print(‘%d ‘ % is_perfect)
            is_perfect = 0
我改成了这样 好像还是有问题yc006t

yjsx86 大佬有话说 :

这是你接触的第一门语言么?
如果是第一门语言的话 出错正常, 只要会看错误提示, 善用搜索
还是搞不懂再发帖求问。

sel 大佬有话说 :

yjsx86 大佬有话说 : 2020-2-11 23:49
这是你接触的第一门语言么?
如果是第一门语言的话 出错正常, 只要会看错误提示, 善用搜索
还是搞不懂再 …

之前接触过一点c语音 但是有十年没碰过了 我再研究一下yc022t

我是一个大水怪 大佬有话说 :

从SICP-Python学起吧:
https://github.com/keithnull/TeachYourselfCS-CN/blob/master/TeachYourselfCS-CN.md

不知你从哪里找的教材。求完美数这种需要算法的程序对初学者来讲算很困难吧。初学者应该先把基本概念搞懂。

简单吐槽:
– 知道`/`与`//`的区别吗?
– 知道`/`与`%`的区别吗?
– C风格的print已经过时了,说明这学习材料也基本过时了

最后给个答案:
“`
n = int(input())
sum = 0
for i in range(2,n+1):
    for j in range(1,i):
      if i%j == 0:
            sum += j
    if sum == i:
      print(i)
    sum = 0
“`

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具