亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用字符或字符串作為放置在操作數之間的運算符?

如何使用字符或字符串作為放置在操作數之間的運算符?

一只甜甜圈 2021-07-28 15:25:10
我想接收運算符(如'+'、'-'、'*'、'/')并直接在代碼體中使用。有點像:char = raw_input('enter your operator:')a=1b=5c=a char b    #error! how can i do it?如果用戶輸入“*”,c 將為 5。如果用戶輸入“+”,c 將是 6,依此類推。
查看完整描述

3 回答

?
函數式編程

TA貢獻1807條經驗 獲得超9個贊

你可以這樣做:


import operator


operations = {'+': operator.add, '-': operator.sub, '*': operator.mul, '/': operator.truediv}


char = raw_input('enter your operator:')

a = 1

b = 5

c = operations[char](a, b)


print c

輸出 (對于字符 = +)


6


查看完整回答
反對 回復 2021-08-03
?
慕森王

TA貢獻1777條經驗 獲得超3個贊

或使用:


from operator import *

char = raw_input('enter your operator:')

a=1

b=5

c={'+':add,'-':sub,'*':mul,'/':truediv}

print(c[char](a,b))

或者int.some operator name:


char = raw_input('enter your operator:')

a=1

b=5

c={'+':int.__add__,'-':int.__sub__,'*':int.__mul__,'/':int.__truediv__}

print(c[char](a,b))

兩種情況的演示輸出:


enter your operator:*

5


查看完整回答
反對 回復 2021-08-03
?
qq_笑_17

TA貢獻1818條經驗 獲得超7個贊

像這樣:


a=1

b=2

op = '+'

result = eval('{}{}{}'.format(a, op, b)) # result = 3

您還必須將 a 和 b 轉換為字符串eval才能工作。


查看完整回答
反對 回復 2021-08-03
  • 3 回答
  • 0 關注
  • 148 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號