Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

γειαα, ειμαι καινουργια στον προγραμματισμο (και στο site), προσπαθω να γραψω ενα κωδικα που να λειτουργει σαν κουμπιουτερακι, τρεχει μεχρι ενα σημειο αλλα μετα μου εμφανιζει error, ριξτε το μια ματια και πειτε μου :)

 

print """Numerical Calculations
----------------------"""


print """1.Addition
2.Subtraction
3.Proliferation
4.Divion
5.Square root
6.Exponentiation """



import math



def addition(x, y):
    x = input("Enter a number: ")
    y = input("Enter an another number: ")
    total = int(x) + int(y)
    return "%d + %d = %d" %(x, y, total)

def subtraction(x, y):
    x = input("Enter the divisor: ")
    y = input("Enter the dividend: ")
    totel = int(x) - int(y)
    return "%d - %d = %d" %(x, y, total)

def proliferation(x, y):
    x = input("Enter a number: ")
    y = input("Enter an another number: ")
    total = int(x) * int(y)
    return "%d * %d = %d" % (x, y, total)

def division(x, y):
    x = input("Enter the first number: ")
    y = input("Enter the second number")
    total = int(x) / int(y)
    return "%d / %d = %d" % (x, y, total)

def square_root(x):
    x = input("Enter a number")
    total = math.sqrt(x)
    return "the square root of %d is %d" %(x, total)

def Exponentiation (x, y):
    x = input("Enter the base: ")
    y = input("Enter the exponent: ")
    total = math.pow(x, y)
    return "is %d" % total




def choice():
    chc = input("\nChooce one of the above and enter the corresponding number: ")
    if chc == 1:
        print addition()
    elif chc == 2:
        print subtraction()
    elif chc == 3:
        print proliferation()
    elif chc == 4:
        print division()
    elif chc == 5:
        print square_root()
    elif chc == 6:
        print Exponentiation ()

print choice()

Δημοσ.

1. Να χρησιμοποιείς code tags όταν ανεβάζεις κώδικα, ή να δίνεις link από κάποιο pastebin service (πχ gist https://gist.github.com/)

 

2. Να ανεβάζεις και το μήνυμα λάθους που σου βγάζει, ενώ καλό είναι να αναφέρεις και το λειτουργικό σύστημα που χρησιμοποιείς.

 

3. Στο πρόβλημά σου τώρα:

def addition(x, y):
    # ...


addition()

Δηλώνεις τις συναρτήσεις σου με τέτοιο τρόπο ώστε να δέχονται δύο ορίσματα, ενώ στη συνέχεια τις καλείς χωρίς ορίσματα.

 

Έτσι όπως έχεις γράψει τον κώδικα τον συναρτήσεων, δεν χρειάζεσαι ορίσματα γιατί ζητάς τις τιμές των x, y κτλ μέσα στο σώμα των συναρτήσεων. Θες αυτό δηλαδή: https://gist.github.com/anonymous/11058526

 

edit

----

Πρόσεξε, η διαίρεση που κάνεις είναι ευκλείδεια διαίρεση και όχι κανονική...

 

edit 2

-----

Έχει και κάτι άλλα ψιλά λαθάκια. Όταν κάνεις string formatting Χρησιμοποιείς παντού το %d δηλαδή το conversion type για τους integers, ενώ σε κάποιες περιπτώσεις (πχ στην τετραγωνική ρίζα) ο αριθμός σου θα είναι float κατά πάσα πιθανότητα οπότε θα ήθελες να βάλεις %f

Δες και εδώ https://docs.python.org/2/library/stdtypes.html#string-formatting-operations

 total = int(x) + int(y)

Είσαι σίγουρη ότι θες να μετατρέψεις σε "int" το input του χρήστη;

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...