-3

サークルプログの小さなエリアで作業しています。デバッグ段階で発生した問題を解決できませんでした。「外部で参照される変数...」などのエラーや、単純な方程式を処理しないその他のエラー (例: 半径 = 面積 / 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. 
4

2 に答える 2

2

あなた自身が正しく言うように、これは経験に基づいて何かをしなければなりません。経験を積むほど、些細な問題について誰かに尋ねる必要がなくなります。

しかし、その経験を積んで進歩するためには、これらの小さな問題を乗り越える必要があるため、尋ねることは間違いなく有効な手段です。

自分の過ちから学ぼうとする限り (そう呼べるなら)、すべてがうまくいくはずです。

とにかく、一部のデバッガーはをするのが本当に苦痛になる可能性があります。

于 2013-01-03T15:25:38.813 に答える