1.eval函數的語法及用法
(1)語法:eval(expression)
參數說明:
- expression:必須為字符串表達式,可為算法,也可為input函數等。
說明:表達式必需是字符串,否則會報錯,比如直接輸入數值會報錯為:“TypeError: eval() arg 1 must be a string, bytes or code object”,如下圖所示。
(2)作用:接收運行一個字符串表達式,返回表達式的結果值。
常用來將一個字符串進行求值。
2.實例
(1)簡單的計算用法
eval('2+3') #jupyter運行可直接輸出結果print(eval('2+3')) #pycharm若需要直接輸出改結果可以用print函數輸出。
常用 :例2:將某字符串的數字轉為數值型數字。
eval('3') #jupyter運行可直接輸出結果print(eval('3')) #pycharm若需要直接輸出改結果可以用print函數輸出。
再例如:
sr ='3'print(eval(sr)) # pycharm若需要直接輸出改結果可以用print函數輸出。
print(eval(sr)+7)
輸出:
例3:先有一個x=233,求x+123的值。
x = 233
eval('x+123')
(2)與其它函數結合使用,比如結合input函數使用。
例1:提示用戶輸入目標值,并用于計算。
x = eval(input('請輸入數字:'))
y = x + 234
print(y)
(3)與while語句、input函數結合使用。
例:不斷循環計算兩個參數輸入的加法值,相當于計算器輸入兩個值相加。
while True:x = eval(input('請輸入數字:')) #輸入一個x值y = eval(input('請輸入數字:')) #輸入y值z = x + y #相加print(z) #輸出z的值
(4)與input函數以及if條件語句、while語句一起結合使用。
例: 無限輸入成績數值判斷成績等級。
while True:score = eval(input('輸入數值:'))if score >= 90:print('優秀')elif score >=80:print('良好')elif score >= 70:print('一般')elif score >= 60:print('及格')else:print('不及格')