| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2500 人关注过本帖
标题:[Python求助帖]有大佬能帮我看看为什么这些代码不能正常输出结果吗?
只看楼主 加入收藏
一个小萌新
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2020-5-3
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
[Python求助帖]有大佬能帮我看看为什么这些代码不能正常输出结果吗?
代码本意是想用来解方程,但是输出却总是无解。
程序代码:
x = -100.000000
left = x+1
right = x*2
total = 0
while x<= 100.00:
    mid = left - right
    
    if left == right:
        print("x = " +x+"   "  +mid)
        total = total + 1
    x = x + 0.001
    

if total == 0:
    print("The equatioon doesn't have a solution.")
elif total == 1:
    print("The equatioon only have a solution.")
else:
    print("There are %d solutions in total.",total)


图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 代码 left Python print 输出 
2020-05-03 11:47
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:2 
浮点数不能用==来判断是否一致

DO IT YOURSELF !
2020-05-03 13:28
一个小萌新
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2020-5-3
收藏
得分:0 
回复 2楼 wp231957
可是即使改成这样还是不行
程序代码:
while x<= 100.00:
    mid = left - right
    
    if mid < 0.001 and mid > -0.001:
        print("x = " +x+"   "  +mid)
        total = total + 1
    x = x + 0.001
2020-05-03 16:48
hq00
Rank: 2
等 级:论坛游民
威 望:1
帖 子:4
专家分:25
注 册:2020-5-3
收藏
得分:9 
没改之前的程序,left和right在循环外赋值,所以不管循环多少次,left和right都不变,total肯定为0
修改后的程序,还是如此,mid不会变化的,total也不会变,所以无解。
2020-05-03 17:55
一个小萌新
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2020-5-3
收藏
得分:0 
回复 4楼 hq00
谢谢,可是为什么输出的数据这么诡异,如果我想让它好看一点该怎么办
程序代码:
x = -100.000000

total = 0
while x<= 100.00:
    left = x+1
    right = x*2
    mid = left - right
    
    if mid < 0.001 and mid > -0.001:
        print("x = " +str(x) +"   "  +str(mid))
        total = total + 1
    x = x + 0.001
    

if total == 0:
    print("The equatioon doesn't have a solution.")
elif total == 1:
    print("The equatioon only have a solution.")
else:
    print("There are " + str(total)+" solutions in total.")

图片附件: 游客没有浏览图片的权限,请 登录注册
2020-05-03 21:22
hq00
Rank: 2
等 级:论坛游民
威 望:1
帖 子:4
专家分:25
注 册:2020-5-3
收藏
得分:9 
保留6位小数:
print("x = " +str(x) +"   "  +str(mid))换成
print("x = %f"  %x + "    mid = %f" %mid)
2020-05-03 22:04
一个小萌新
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2020-5-3
收藏
得分:0 
回复 6楼 hq00
谢谢大佬
2020-05-04 08:25
快速回复:[Python求助帖]有大佬能帮我看看为什么这些代码不能正常输出结果吗?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028442 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved