python重点看2和7个最后1位与其他的不一样,我新手求不喷。

print(0.12345678901234507)
print(0.12345678901234517) # 为什么到了1输出结果最后就不一样了
print(0.12345678901234527)
print(0.12345678901234537)
print(0.12345678901234547)
print(0.12345678901234557)
print(0.12345678901234567) # 为什么到了6输出结果最后就也不一样了。
print(0.12345678901234577)
print(0.12345678901234587)
print(0.12345678901234597)

输出结果为:
0.12345678901234507
0.12345678901234516
0.12345678901234527
0.12345678901234537
0.12345678901234547
0.12345678901234557
0.12345678901234566
0.12345678901234577
0.12345678901234587
0.12345678901234597

Process finished with exit code 0

0

3个回答

1

计算机底层都是用二进制表示的,二进制表示十进制,尤其在小数部分通过乘2取整的方式,但是有些小数到最后不一定正好能取到,所以会存在很小的误差

0

该print()的参数是数而不是字符串,python会将其转化为字符串输出,但前提是是先将参数保存,可收到浮点数精度的影响,0.12345678901234517并不能准确存储,而是存成了与其最近的二进制浮点数

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
用e=1/1!+1/2!+1/3!+……公式求e的近似值,直到发现某一项的值小于10^(-5)为止;
1、         用e=1/1!+1/2!+1/3!+……公式求e的近似值,直到发现某一项的值小于10^(-5)为止;  #include #include int main() { int n=1; float e=1,t=1,f=1; do{ f=f*n; t=1/f; e=e+t; n++; }while (t>=1e-6); printf("e=%f\n"
二叉树递归
自己做的 求别喷 有关这方面资料 我知道自己准备的不充分 求原谅 别喷啊 原谅新手
在1到30之间产生7个不重复的随机数,然后从小到大排序,若产生的数只有个位,则在个位前添加0,如01
这个问题可以分为五个小问题。 1,随机数的产生。 2,控制随机数的范围。 3,保证产生的数不与前数相同。 4,对产生的数进行排序。 5,产生的数只有个位在前边添加0。 下面我们来看看代码、、c语言 #include #include #include int main () { srand((int)time(0)); int i,b,j,t,num; int a[7]
用Java语言产生1~35之间的7个随机整数,且不能重复,并与用户输入的7个数作比较,设置相应的奖项
java简易的小游戏 主要产生随机数,对比,输出系统时间等简易功能 代码示例如下: package lottery_system; import java.util.Scanner; public class Lottery {     /**     * 产生1~35之间的7个随机整数,且不能重复     * @return     */     public static int...
如何从8只球中找出比较重的一个
你有8个一样大小的球,其中7个的重量是一样的,另一个比较重。怎样能够用天平仅称两次将那个重一些的球找出来。 解析: 为了方便,我们将球编号为:1,2,3,4,5,6,7,8,则我们的方案如下: step 1 :将1,2,3放在天平左侧,4,5,6放在天平右侧,进行一次称量,结果有两种: (1). 平衡,则重球在7,8中,称量一次7和8即可获得结果; (2). 不平衡,假设1,2,3重
7-15 计算圆周率(15 分) ----Python实现
根据下面关系式,求圆周率的值,直到最后一项的值小于给定阈值。 ​2​​π​​=1+​3​​1​​+​3×5​​2!​​+​3×5×7​​3!​​+⋯+​3×5×7×⋯×(2n+1)​​n!​​+⋯ 输入格式: 输入在一行中给出小于1的阈值。 输出格式: 在一行中输出满足阈值条件的近似圆周率,输出到小数点后6位。 输入样例: 0.01 输出样例: 3.132157 a=i...
职业生涯的7个发展阶段及如何在每个阶段成功?
从进入职业市场直到退出,一个人的职业生涯发展可以分成7个发展阶段,尽管不同的人会有非常不同的人生,非常不同的职业经历,但大部分人都会经历这几个职业生涯发展阶段。在职场越往后走,职业生涯的发展阶段都比以前更高,但能爬上去的人更少,有的人能成功地渡过一些成长阶段,但会在某个阶段前停滞下来,停止职业成长,有的人则会一直成功地走下去,走到职业金字塔的顶端。         认识、了解整个职业生涯的发
第九题 用以下公式求π直到最后一项小于10-6为止,显示所求的π值和循环次数。
import java.text.SimpleDateFormat; import java.util.Date; public class 求π { public static void main(String[] args) { SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.print...
贪心法--背包问题(不是0/1背包问题)
课后习题-----------习题七第1题 问:用贪心法求解如下背包问题的最优解:有7个物品,重量分别为(2,3,5,7,1,4,1),价值分别为(10,5,15,7,6,18,3),背包容量W=15。写出求解过程。 答:       1、单价分别为(5,5/3,3,1,6,4.5,3);      按单价的大小分别为重量和价值重新排序! 排序为:      重量:(1,2,4,5,1
根据公式求e的值,e=1+1/2+1/3+1/4……+1/n(精确度为10^-6)
#include using namespace std; int main() { int i=1; double e=1.0,d=1.0; while(d>=1e-6) { d=d/i; e+=d; i++; } cout<<"e的值为:"<<e<<endl; return 0; }
(JAVA)两个数,第一个数,个位十位相加,第一个数+1,再个位十位相加,直到第一个数=第二个数,求和
无聊,看了道题:就是题目所说的,两个数(int类型)第一个数小于第二个数(1-999范围内),循环个位十位百位相加 例:15,19 1+5+1+6+1+7+1+8+1+9=40 思路:本来呢,看到这题,第一想法就是求余数,这样做1-99的能出来,100+的不好做。于是我想到了string的substring public String substring(int beginIndex...
计算π的近似值
题目描述 利用高利公式 π/4 ≈ 1 - (1/3) + (1/5) - (1/7) + ... ,编写程序计算π的近似值,直到最后一项的绝对值小于0.000001。  输入 无 输出 在一行中按照格式 ”PI = xxxxx“ 输出所求的值。 AC代码如下: #include "stdio.h"
求答案 ? 一筐鸡蛋: 1个1个拿,正好拿完。 2个2个拿,还剩1个。 3个3个拿,正好拿完。 4个4个拿,还剩1个。 5个5个拿,还差1个。 6个6个拿,还剩3个。 7个7个拿,还剩4个。 8个8个
别人分享个题目给我,如下。 求答案 ? 一筐鸡蛋: 1个1个拿,正好拿完。 2个2个拿,还剩1个。 3个3个拿,正好拿完。 4个4个拿,还剩1个。 5个5个拿,还差1个。 6个6个拿,还剩3个。 7个7个拿,还剩4个。 8个8个拿,还剩1个。 9个9个拿,正好拿完。 问筐里最少有多少鸡蛋? private static void testResult()
中M2018春C入门和进阶练习集-编程题50 7-50 近似求PI(15 分)
7-50 近似求PI(15 分) 本题要求编写程序,根据下式求π的近似值,直到最后一项小于给定精度eps。 ​2​​π​​=1+​3​​1!​​+​3×5​​2!​​+​3×5×7​​3!​​+⋯+​3×5×⋯×(2×i+1)​​i!​​+⋯ 输入格式: 输入在一行中给出精度eps,可以使用以下语句来读输入: scanf(&quot;%le&quot;, &amp;amp;eps); 输出格式: 在一行内,...
90道Java编程题
1.完成数组int[] a = {100,40, 60, 87, 34, 11, 56, 0}的快速排序、冒泡排序; 2.采用折半查找的算法,在数组中查询到某个数; 3.在中文环境下,有字符串,将其每个字节的数据相加求和。 4.将一个数组中值=0的项去掉,将不为0的值存入一个新的数组,比如: int a[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5}; 生成的
PAT-计算圆周率(简单编程题)
根据下面关系式,求圆周率的值,直到最后一项的值小于给定阈值。 ​2​​π​​=1+​3​​1​​+​3×5​​2!​​+​3×5×7​​3!​​+⋯+​3×5×7×⋯×(2n+1)​​n!​​+⋯ 输入格式: 输入在一行中给出小于1的阈值。 输出格式: 在一行中输出满足阈值条件的近似圆周率,输出到小数点后6位。 输入样例: 0.01 输出样例: 3.
1+11+111+1111+11111+……+11……11(2009个1)的和有多少个1?
直接贴代码了 #include #define SIZE 10 int main(void) { int i; int count=0; int result=0; for(i=SIZE; i>0; i--) { int temp=i+result; int divisor=temp/10; int remain=temp%10; result=divisor;
已知π/4=1-1/3+1/5+...,求π的近似值?
这两天写程序真的太累了,没顾得上博客,好气哦!一个小程序奉上。
PTA基础编程 5-15 计算圆周率 (15分)
根据下面关系式,求圆周率的值,直到最后一项的值小于给定阈值。\frac{\pi}{2} = 1+\frac{1}{3} + \frac{2!}{3\times 5}+ \frac{3!}{3\times 5\times 7}+\cdots + \frac{n!}{3\times 5\times 7\times \cdots \times (2n+1)}+\cdots ​2 ​ ​π ​​ =
Python中的爱因斯坦阶梯
爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。 Python代码如下: i=0 a=7*i while ((a%2==1)and(a%3==2)and(a%5==4)and(a%6==5))==0: i=i+1 a=7*i p...
单调栈:柱形统计图中最大面积(POJ 2559)
zz from http://www.cnblogs.com/legendmaner/archive/2013/04/18/3028748.html 题目大意: 给出一个柱形统计图(histogram), 它的每个项目的宽度是1, 高度和具体问题有关。 现在编程求出在这个柱形图中的最大面积的长方形。 例如:  7 2 1 4 5 1 3 3   7表示柱形图有7
根据公式求e的值,e=1+1/2+1/3+1/4+……+1/n(精确度为10^-6)
#include using namespace std; int main() { int i=1; double e=1.0,d=1.0; while(d>=1e-6) { d=d/i; e+=d; i++; } cout<<"值为"<<e<<endl; return 0; }
求数列4*(1-1/3+1/5-1/7·····)的值,直到最后一项的绝对值小于10的负6次方为止
求数列4*(1-1/3+1/5-1/7·····)的值,直到最后一项的绝对值小于10的负6次方为止
贪心算法——背包问题
背包问题与0-1背包问题类似,不同在于选择物品i装入的时候,可以选择装入一部分。 贪心策略:   计算物品的单位价值,按照单位价值从大到小排序,优先装入单位价值大的。 计蒜客——Home Work 临近开学了,大家都忙着收拾行李准备返校,但 I_Love_C 却不为此担心! 因为他的心思全在暑假作业上:目前为止还未开动。 暑假作业是很多张试卷,我们这些从试卷里爬出来的人都
python 求8位各不相同的整数,1357位之和等于2468位之和,且为完全平方数
一、解题思路: 二、引用的方法:
练习4-7 求e的近似值(15 分)
自然常数e可以用级数1来近似计算。本题要求对给定的非负整数n,求该级数的前n项和。输入格式:输入第一行中给出非负整数n(≤)。输出格式:在一行中输出部分和的值,保留小数点后八位。输入样例:10 输出样例:2.71828180#include&amp;lt;stdio.h&amp;gt; int main() { int i, j, n; double item, sum; sum=1; scanf(&quot;%d...
项目4:用循环求---(1)求π的近似值
问题及代码: /* *copyright(c)2016,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:test.cpp *作者:崔青青 *完成日期2016年3月6号 *问题描述:用如下公式求π近似值(计算直到最后一项的绝对值小于10的-5次方),π/4=1-1/3+1/5-1/7+...... *输入描述:无 *程序输出:π的近似值 */ #include
word转换错误 无毒绿色不喜勿喷 积分1
无毒绿色不喜勿喷 积分1无毒绿色不喜勿喷 积分1无毒绿色不喜勿喷 积分1无毒绿色不喜勿喷 积分1无毒绿色不喜勿喷 积分1无毒绿色不喜勿喷 积分1无毒绿色不喜勿喷 积分1无毒绿色不喜勿喷 积分1
PAT Basic1054(unsolved:两个测试点没过,其实只有一步之遥)
1054 求平均值 (20)(20 分)本题的基本要求非常简单:给定N个实数,计算它们的平均值。但复杂的是有些输入数据可能是非法的。一个“合法”的输入是[-1000,1000]区间内的实数,并且最多精确到小数点后2位。当你计算平均值的时候,不能把那些非法的数据算在内。输入格式:输入第一行给出正整数N(&amp;lt;=100)。随后一行给出N个实数,数字间以一个空格分隔。输出格式:对每个非法输入,在一行中...
键盘输入7个评委对选手的打分,去掉最高分,去掉最低分,输出平均分,要求左对齐,保留到小数点后两位。
6、键盘输入7个评委对选手的打分,去掉最高分,去掉最低分,输出平均分,要求左对齐,保留到小数点后两位。 #include &amp;lt;stdio.h&amp;gt; int main (){ int i,j,temp,sum=0; int gread[7]; float b; printf(&quot;please input your score:\n&quot;); for(i=...
利用while计算常数e(e=1+1/1+1/2!+1/3)的近似值
-
近似求π
近似求PI 本题要求编写程序,根据下式求π的近似值,直到最后一项小于给定精度eps。 ​2​​π​​=1+​3​​1!​​+​3×5​​2!​​+​3×5×7​​3!​​+⋯+​3×5×⋯×(2×i+1)​​i!​​+⋯ 输入格式: 输入在一行中给出精度eps,可以使用以下语句来读输入: scanf("%le", &eps); 输出格式: 在一行内,按照以下格式输出π的
计算1-1/2+1/3-1/4+……1/99-1/100+……,直到绝对值小于1/10000为止
#include<stdio.h> #include<math.h> main() { int n=1; float term=1.0,sign=1,sum=0; while(n<=10000) { term=term+sign/n; sum=sum+term; sign=-sign; n++; } printf
7-1 求e的近似值(15 分)
一、题目二、个人理解此题主要的关键点在于如何不运行超时。我们可以发现题目要求保留小数点后八位,于是我们测试数据发现当n>11时,保留8位的数据就不变了,于是我们可以大胆舍弃以后位数的计算。对于此类题目,我们要仔细读题目,发现它让我们保留到多少位,然后进行测试,不要盲目的去改变算法。C语言:#include <stdio.h>int factorial(int n) { int factori
发现python的 位运算符 | 和 and 结果和竟然一样。
|在C语言中叫或  , 在python中叫 并   和 and差不多 发现位运算符| 和 布尔运算符and的结果是一样的 。 下一张
Python 找出1与100之间的全部“同构数”
参考代码 @author: Catwang """ for i in range(1,101): a=str(i**2) j=str(i) b=len(j) flag=True for c in range(-1,-b-1,-1): if a[c]!=j[c]: flag=False break...
7-50 近似求PI (15 分)
7-50 近似求PI (15 分) 本题要求编写程序,根据下式求π的近似值,直到最后一项小于给定精度eps。 ​2​​π​​=1+​3​​1!​​+​3×5​​2!​​+​3×5×7​​3!​​+⋯+​3×5×⋯×(2×i+1)​​i!​​+⋯ 输入格式: 输入在一行中给出精度eps,可以使用以下语句来读输入: scanf(&quot;%le&quot;, &amp;amp;eps); 输出格式: 在一行内...
c# 个人计算器
个人做的一个计算器,新手请勿喷,求高手指导
面试题目,100球,允许拿1,2,4,两个人谁输
A B从一堆玻璃球(共100个)里向外拿球 规则如下: 1 A先拿 然后一人一次交替着拿; (2)每次只能拿1个或2个或4个; (3)谁拿最后一个球 谁就是最后的失败者; 问A B谁将是失败者 写出你的判断步骤
求N!的二进制表示中最低位1的位置 ->求 N!的质因子2的个数
说明:相当于求 N!的二进制表示最后有几个0 (与上篇中求N!十进制表示 最后有几个0 相似) 即求 N!的质因子2的个数 == [N/2]+[N/2^2]+[N/2^3]+.... 然后+1就是得到位置了。(PS:位置从1开始算) 求 N!的质因子2的个数的另一个方法: N!含有质因数2的个数,等于N减去N的二进制表示中1的个数 #include #include //太大
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 新手学习python 新手python入门教程