我这样写为什么会出错呢?

我这样写为什么会出错呢?

num = int(input("请输入一个三位数:"))

# 分别求出三位数的个位,十位,百位

 int gw =num%10

 int sw =(num%10)//10

 int bw =num%1000//10

# 定义变量total,保存各位数字立方和

total = (gw**3)+(sw**3)+(bw**3)

# 用if语句判断条件是否成立,并做出相应的输出

    # 补全代码

if(total==(num==153)):

  print("{0}是水仙花".format(total))

else:

  print("{0}不是水仙花".format(total))


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
Ghmin 2019-07-21 17:07:48

首先你初始化变量不用定义变量的类型http://img1.sycdn.imooc.com//climg/5d342b180001c08c05220231.jpg

然后下面的判断直接判断这两个数是否相等就行了http://img1.sycdn.imooc.com//climg/5d342b5c0001369f04750216.jpg


好帮手慕美 2019-07-15 16:24:31

同学,你好。

1、变量的数据类型是不需要提前设置的,Python在变量赋值时会自动判断数据类型

http://img1.sycdn.imooc.com//climg/5d2c3754000159a402810138.jpg

2、取sw和bw时表达式不对。sw=153与100求余为53,53除10取商为5;bw=num除100取商为1

http://img1.sycdn.imooc.com//climg/5d2c37610001c3a603700077.jpg

3、在判断时直接比较total与num即可。

http://img1.sycdn.imooc.com//climg/5d2c380400013cb907180203.jpg

如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~

  • 提问者 慕盖茨6029426 #1
    为什么在网页输出的有误,反而在pycam程序就可以运行呢?
    2019-07-15 16:34:51
  • 好帮手慕美 回复 提问者 慕盖茨6029426 #2
    程序中有错误的话,不论是在网页中还是在pycharm中在执行时都是会有报错提示的。
    2019-07-15 16:42:49
  • 提问者 慕盖茨6029426 回复 好帮手慕美 #3
    我在网页上编写那个gw=num%10,就这条语句在网页就出错,,但在程序运行就没问题
    2019-07-15 22:59:31
呆呆打小怪兽 2019-07-15 16:17:34

num = int(input("请输入一个三位数:"))

# 分别求出三位数的个位,十位,百位

gw =int(num%10)

sw =int((num//10)%10)

bw =int(num//100)

# 定义变量total,保存各位数字立方和

total = (gw**3)+(sw**3)+(bw**3)

# 用if语句判断条件是否成立,并做出相应的输出

   # 补全代码

if total==num:

 print("{0}是水仙花".format(num))

else:

 print("{0}不是水仙花".format(num))

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
1.Python零基础入门
  • 参与学习           人
  • 提交作业       2727    份
  • 解答问题       8160    个

想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师