サークルプログの小さなエリアで作業しています。デバッグ段階で発生した問題を解決できませんでした。「外部で参照される変数...」などのエラーや、単純な方程式を処理しないその他のエラー (例: 半径 = 面積 / PI * 半径)。プログラム全体を書き直す以外に、問題を回避するためにさまざまな方法を試しましたが、何も機能しません。私の解決策は、新しい問題を生み出すか、目の前の問題を解決しないかのどちらかです。Python を 3 週間勉強しましたが、COBOL でのコーディング経験があるので、関数とフローチャートの概念を理解しています。
問題を解決する心やツールがない場合、どうしますか? これらの問題を自分で解決したい。助けを求めるのは賢明ですが、最終的には自分で飛ばなければなりません。
助けてくれてありがとう。
フラックス
添加:
円と半径の面積:
# Exercise 1 Area of Circle
# This prog will ask for circle dimensions and compute
# area/radius for the user, then display figures, and
# allow to repeat.
import sys
import pdb
PI = 3.14
radius = 0
print ('''Welcome to Ursavion, the leader in math apps
This app allows you to quickly and easily find
either the area or radius for a circle.''')
print ( )
def chooseAR ( ):
print ('Do you need to find circle area or circle radius? Enter A/a or A/r. ')
choice = input ( )
if choice in ['A', 'a']:
areaSol ( )
elif choice in ['R', 'r']:
radSol (radius)
else:
print ('Please enter either A/a or R/r. ')
chooseAR ( )
def areaSol ( ):
radius = 0
radius = input ('What is the radius of the circle? ')
radius = int (radius)
area = PI * radius**2
radius = str(radius)
area = str(area)
print ('The area of a circle with radius ' + radius + ' is ' + area + ' units ' squared')
print ( )
print ('Calculate another? y/n ')
again = input ( )
if again in [ 'y', 'n']:
chooseAR ( )
else:
print ('Thank you for using this app.')
def radSol (radius):
#pdb.set_trace( ) #r = 1.128 for A = 4
area = input ('What is the area of the circle? ')
area = int(area)
radius = int(radius)
radius = area / 3.14 * radius #prog will not eval this formula; float pt prob
radius = str(radius)
area = str(area)
print ('The radius of a circle with area ' + str(area) + ' is ' + str(radius) + ' units')
print ( )
again = input ('Calculate another? y/n ')
if again in ['Y', 'y', 'N', 'n']:
chooseAR( )
else:
print ('Thank you for using this app.')
chooseAR ( ) # This function is one problem. Program initializes all
# functions on first pass, but it needs "chooseAR" here to allow the
# program to start, else it never runs; however, the "chooseAR" sets up
# an infinite loop if it exists here.