Pythonで疑似的な関数電卓を作りたい。でも問題点が……。
解決したい事項について
関数電卓的なものをPythonで作っているのですが、どうしても円の面積を求め終えてからの計算に不具合が出てしまいます。円の面積を求め終えてから、通常の計算をすると、2つ目の数値入力欄がスタックされてもう一つ余計に出てしまいます。また、連続で円の計算をしたらその分2つ目の数値入力欄がどんどん出てきてしまいます。この余分な入力欄はどうやって消せばいいでしょうか。delを使っても消せませんでした。
現在発生している不具合(コンソールより)
1つ目:数値入力>>5
記号(円ならpiと入力)>>pi
306.02
1つ目:数値入力>>3
記号(円ならpiと入力)>>*
2つ目:数値入力>>3
2つ目:数値入力>>4
12
作成したソースコード
import math
def title():
print("------------")
print("|Calcurator|")
print("------------")
def begin():
global first_num
global second_num
global calc
first_num=int(input('1つ目:数値入力>>'))
calc=str(input('記号(円ならpiと入力)>>'))
select()
if calc=='+' or calc=='-' or calc=='*' or calc=='/' or calc=='//' or calc=='**' or calc=='%':
second_num=int(input('2つ目:数値入力>>'))
elif calc=='pi':
(second_num)=None
def select():
if calc=='pi':
circle()
return begin()
def sum():
print(first_num+second_num)
def minus():
print(first_num-second_num)
def inc():
print(first_num*second_num)
def div():
print(first_num/second_num)
def div2():
print(first_num//second_num)
def joe():
print(first_num**second_num)
def extra():
print(first_num%second_num)
def circle():
print(round(math.pi**first_num,2))
title()
while(1):
begin()
if calc=='+':
sum()
elif calc=='-':
minus()
elif calc=='*':
inc()
elif calc=='/':
div()
elif calc=='//':
div2()
elif calc=='**':
joe()
elif calc=='%':
extra()
else:
begin()
調べてみたこと
delを使うと変数を初期化できると聞いていたのですが、出来なくて困っています。
0