複数の数値を取ることのできる簡単な電卓を使っています。私が書いたより単純な電卓から必要なコードを残しておきます。演算子の問題と数式の分割
このスニペットは、文字列を分割しようとします。 oper_lib
変数に演算子を配置する際に問題があります また、汎用変数で関数を定義し、その関数を使用する必要がある場合に同じ関数を呼び出すことはできますか?
>""" basic calc - designed to take multiple >variables """
from datetime import *
now = datetime.now()
#Intro
print ("\n")
print ("Welcome to BasicCalc:Unstable! \n")
print ("If you need HELP, type help \n")
print (now)
#Beginning processing intake
ui1 = input("Please enter figure: ")
intake_list = ui1.split(" ")
lenth_list= len(intake_list)
if lenth_list % 2 == 0:
print ("invalid entry")
else:
print ("")
"""
Thoughts on this/ ideas:
- build a secondary math op list
- add two for - in loops in quick succession
"""
def do_math(intake_list):
""" proforms math function from a list"""
oper_lib = [
"+" ,
"-" ,
"*" ,
"/"
]
for i in intake_list:
for n in i:
if n in oper_lib:
intake_list.insert(i-1 , " ")
intake_list.insert(i+1 , " ")
print(intake_list)
print (do_math(intake_list))
print (intake_list)
print (lenth_list)
プログラムは図形を要求します。この数字は数字、表現、何ですか?私は22歳になり、これらの3つの結果を別々の行に吐き出しています:なし['22'] 1.あなたは、出力が期待していることを示唆するヒントはありますか? –
考え方は、各整数/オペランドの間にスペースを入れて完全な式を入力することです。プログラムはこれを文字列として取り、それをリストに分割し、さらに処理して答えを返します。だから、あなたが5-5と言うプログラムを動かそうとするなら、> do_mathはこれを> ['5'、 ' - '、 '5']に分割しなければなりません。 – user43850
あなたはあなた自身と矛盾していると思います。あなたが '['5'、 ''、 ' - '、 ''、 '5']'にしようとしているようです。また 'do_math(...)'はNoneを返します。これは 'return'キーワードとそれに対応する値を指定しない限り、関数はNoneを返すからです。 – BLaZuRE