鱼C论坛

 找回密码
 立即注册
查看: 1844|回复: 4

[已解决]在0基础入门学习Python005讲遇到了很多问题,有理论性的也有代码

[复制链接]
发表于 2017-3-13 19:16:07 | 显示全部楼层 |阅读模式

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

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

x
1.   为什么第二个变成了2.0? 跟小数点后面的小数位数有关吗?代码如下:
>>> a = 2.00000000003
>>> a
2.00000000003
>>> b = 2.000000000000000000003
>>> b
2.0
>>>
2.   为什么 type(float) 结果是<class 'type'>
>>> type(float)
<class 'type'>
>>>
3.   为什么变成了……7?
>>> c = 1.0000000000000006
>>> c
1.0000000000000007
>>>
4.   对于e科学技术法来说,什么样的数才算特别小,能够用科学计数法表示?
5.   end=’’ 是什么意思?
6.   temp = input("请输入一个年份:")
while temp.isdigit():   #判断输入的数据是否都是数字,如果不是则跳出循环
    year = int(temp)   #将temp进行强制类型转换,赋值给year,方便下面计算。
    if (year%4 == 0 and year%100 != 0) or (year%400 == 0):
        print("闰年")
    else:
        print("平年")
print("数据类型错误")
就这些啦,先谢谢大家!
最佳答案
2017-3-13 20:21:52
朋友你好。

對於問題1,3,4回答如下:
在使用浮點數的時候,你目前的階段不需要考慮這個2.00000006還是2.00000007,你只需要輸入你需要的數字,比如: 0.1 + 0.2  返回值是 0.3 ,但結果也可能是0.3000000000000004,這是目前我了解的語言(包括C,C++,R等語言)都存在的問題,不需要擔心這個問題,實在要說,只能說計算機内部的表示數字的方式在某些情況下比較難。

關於問題2:
float,str,int等都是調用的一個類型,意在將函數後面括號中的内容強制轉化,如,儅你輸入type(0.002),返回為class float,同樣,輸入type(3),返回為class int

問題4:
大概你對e科學計數法還沒有具體掌握,e科學計數法是用指數方法表示顯示的數字,用e+n的方式替換部分數字,n代表次冪數,如:2.3e+2 就表示2.3*10的2次方,3.44e+5表示3.44*10的5次方,同理,
1.1e-2則表示1.1*10的-2次放。
實在不能理解,可以記成將e前面的數字的小數點向左或者向右移動n個單位,-向左移動,+向右移動


問題5:
可以理解為,打印一個空格,即什麽都不打印

問題6,不明白你想問什麽


第5题会用到

第5题会用到
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-3-13 20:21:52 | 显示全部楼层    本楼为最佳答案   
朋友你好。

對於問題1,3,4回答如下:
在使用浮點數的時候,你目前的階段不需要考慮這個2.00000006還是2.00000007,你只需要輸入你需要的數字,比如: 0.1 + 0.2  返回值是 0.3 ,但結果也可能是0.3000000000000004,這是目前我了解的語言(包括C,C++,R等語言)都存在的問題,不需要擔心這個問題,實在要說,只能說計算機内部的表示數字的方式在某些情況下比較難。

關於問題2:
float,str,int等都是調用的一個類型,意在將函數後面括號中的内容強制轉化,如,儅你輸入type(0.002),返回為class float,同樣,輸入type(3),返回為class int

問題4:
大概你對e科學計數法還沒有具體掌握,e科學計數法是用指數方法表示顯示的數字,用e+n的方式替換部分數字,n代表次冪數,如:2.3e+2 就表示2.3*10的2次方,3.44e+5表示3.44*10的5次方,同理,
1.1e-2則表示1.1*10的-2次放。
實在不能理解,可以記成將e前面的數字的小數點向左或者向右移動n個單位,-向左移動,+向右移動


問題5:
可以理解為,打印一個空格,即什麽都不打印

問題6,不明白你想問什麽


评分

参与人数 1荣誉 +5 鱼币 +1 贡献 +1 收起 理由
ykt + 5 + 1 + 1

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-13 20:26:10 | 显示全部楼层
补充一点吧,python3默认精度位数为17位,end=' '表示后面不换行打印空格。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-14 11:02:14 | 显示全部楼层
文质彬彬胡汉三 发表于 2017-3-13 20:21
朋友你好。

對於問題1,3,4回答如下:

首先非常感谢您这么详细的回答。
问题5,我就是在想,为什么非要加上end = ''打印一个空格?这样的好处是什么?
问题6,我想问,我写的这个程序,如果输入年份后,就会一直打印平年平年平年平年或者一直打印闰年闰年闰年,就是程序有问题,但是我不知道哪里有问题?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-14 11:15:26 | 显示全部楼层
文明的读书人 发表于 2017-3-13 20:26
补充一点吧,python3默认精度位数为17位,end=' '表示后面不换行打印空格。

嗷嗷!感谢!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 07:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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