培養python思維(2)

本來只是打算總結一下我自己從C語言轉換成python的思維的盲點,
結果發現20號發的博文《培養python思維(1)》居然快要破千了,
那麼今天就再發一篇。

這篇結合python123裏的一道題目來講。

題目是這樣的,

數值運算
描述
獲得用戶輸入的一個字符串,格式如下:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬
M OP N‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬
其中,M和N是任何數字,OP代表一種操作,表示爲如下四種:+, -, *, /(加減乘除)‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬
根據OP,輸出M OP N的運算結果,統一保存小數點後2位。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬
注意:M和OP、OP和N之間可以存在多個空格,不考慮輸入錯誤情況。

我當初用C語言的思維想了很久(10min+),

C語言代碼就不貼了(其實是因爲就算想了10min+的代碼,都錯了,要臉),

而用python思維來做,,

兩行,

s = input()
print("{:.2f}".format(eval(s)))

甚至一行,

print("{:.2f}".format(eval(input())))

對,就是一行,
相比起來,python更簡單了的核心,在於這個eval()函數,

eval() 函數用來執行一個字符串表達式,並返回表達式的值。

以下展示了使用 eval() 方法的實例:

>>>x = 7
>>> eval( '3 * x' )
21
>>> eval('pow(2,2)')
4
>>> eval('2 + 2')
4
>>> n=81
>>> eval("n + 4")
85

一句話概括就是,eval函數將括號裏的自動轉換爲它的數據類型。

所以,對C語言中很難解決的問題,簡單的調用一個函數,遊戲結束。

下一個問題又來了,哪裏能知道我要實現的功能是不是已經被封裝成函數了呢?

這裏也提供幾個方法,

一、搜索引擎
無論是百度,Google,還是CSDN,都可以找到很多大佬實現了的功能,
將你想要的功能輸入搜索框,可能就會得到你想要的結果。

二、python官方文檔
有同學說,我英語不好看不懂,
也不用擔心,
python3.7官方中文文檔已經出爐了,
在這裏插入圖片描述
英語不好的同學也可以很好的使用官方文檔了,
只需要在右上方的搜索框中,輸入你想查詢的函數或者功能,點擊跳轉即可得到結果,(當然,速度有點慢,也官網也提供了下載功能,可以將文檔下載到本地,離線查閱)
在這裏插入圖片描述

第二篇就此結束,如果有補充或者閱讀的人多,就再繼續出orz

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章