Zapisałem się na "Programming for Everybody" już jakiś czas temu i teraz nadrabiam zaległości bo już 8 tydzień a ja dziś robię dopiero 3.
Mam takie zadanie :
3.3 Write a program to prompt the user for a score using rawinput. Print out a letter grade based on the following table:
Score Grade
= 0.9 A
= 0.8 B
= 0.7 C
= 0.6 D
< 0.6 F
If the user enters a value out of range, print a suitable error message and exit. For the test, enter a score of 0.85.
Napisałem takie coś xD
score = raw_input("Enter number:")
s = float(score)
if s > 1.0 :
print 'Out of range, range is from 0.0 to 1.0'
elif s >= 0.9 :
print 'A'
elif s >= 0.8 :
print 'B'
elif s >= 0.7 :
print 'C'
elif s >= 0.6 :
print 'D'
elif s < 0.6 :
print 'F'
elif s < 0 :
print 'Out of range, range is from 0.0 to 1.0'
else :
print 'Error, please enter a numeric value' dla wartości większych niż 1 działa dobrze, ale dla np. -1 zwraca F. Autograder zaliczył to jako dobrze wykonane, jednak chciałbym wiedzieć co jest nie tak. Chciałbym też aby wpisanie nie numerycznej wartości zwracało 'else' bo wywala traceback.
@kirukisu: Zasadniczo działa dobrze bo liczba -1 jest mniejsza zarówno od 0.6 i od 0. Przy warunku z 0.6 powinien być drugi warunek, że liczba jest większa od zera.
@kirukisu: Zasadniczo działa dobrze bo liczba -1 jest mniejsza zarówno od 0.6 i od 0. Przy warunku z 0.6 powinien być drugi warunek, że liczba jest większa od zera.
@a231: nie, najpierw powinno się sprawdzać czy w ogóle mieści się w dopuszczalnym zakresie. Jeżeli od samego początku wiadomo, że nie, wtedy nie ma sensu lecieć przez resztę warunków.
#python
#coursera
Zapisałem się na "Programming for Everybody" już jakiś czas temu i teraz nadrabiam zaległości bo już 8 tydzień a ja dziś robię dopiero 3.
Mam takie zadanie :
3.3 Write a program to prompt the user for a score using rawinput. Print out a letter grade based on the following table:
Score Grade
= 0.8 B
= 0.7 C
= 0.6 D
< 0.6 F
If the user enters a value out of range, print a suitable error message and exit. For the test, enter a score of 0.85.
Napisałem takie coś xD
score = raw_input("Enter number:")
s = float(score)
if s > 1.0 :
print 'Out of range, range is from 0.0 to 1.0'
elif s >= 0.9 :
print 'A'
elif s >= 0.8 :
print 'B'
elif s >= 0.7 :
print 'C'
elif s >= 0.6 :
print 'D'
elif s < 0.6 :
print 'F'
elif s < 0 :
print 'Out of range, range is from 0.0 to 1.0'
else :
print 'Error, please enter a numeric value'
dla wartości większych niż 1 działa dobrze, ale dla np. -1 zwraca F. Autograder zaliczył to jako dobrze wykonane, jednak chciałbym wiedzieć co jest nie tak. Chciałbym też aby wpisanie nie numerycznej wartości zwracało 'else' bo wywala traceback.
( ͡° ʖ̯ ͡°)
#noob
print 'F'
elif s < 0 :
daj lepiej coś ala:
`if s in range(0,0.6): print "F"
@a231: nie, najpierw powinno się sprawdzać czy w ogóle mieści się w dopuszczalnym zakresie. Jeżeli od samego początku wiadomo, że nie, wtedy nie ma sensu lecieć przez resztę warunków.
if not 0.0 <= s <= 1.0:print 'out of range'elif s < 0.6 :
print
Nie ma czasu, robisz kiedy chcesz - czysta praktyka.,