Write an expression that equals 100 in python udemy

10+90 should work. Can you email udemy support? Sounds like a platform issue

On Thu, Apr 14, 2022, 1:42 AM average9871 ***@***.***> wrote: Hi - I am having an issue with the coding exercises, including coding exercise 1, not accepting my answers. For example, Coding exercise 1 would not accept answers for "write an expression that equals 100" such as 90+10 or even 100 . Can you advise what I may be doing wrong? For your reference, I am currently using Udemy for Business, which appears to have disabled both answer feedback and question replying within the Q&A sections (I also cannot see the answers to Q&A within the lectures themselves). — Reply to this email directly, view it on GitHub <#432>, or unsubscribe . You are receiving this because you are subscribed to this thread.Message ID: ***@***.***>

In Python most of the lines you will write will be expressions. Expressions are made of operators and operands. An expression is like 2 + 3 .

Operators¶

Operators are the symbols which tells the Python interpreter to do some mathematical or logical operation. Few basic examples of mathematical operators are given below:

>>> 2 + 3
5
>>> 23 - 3
20
>>> 22.0 / 12
1.8333333333333333

To get floating result you need to the division using any of operand as floating number. To do modulo operation use % operator

Example of integer arithmetic¶

The code

#!/usr/bin/env python3
days = int(input("Enter days: "))
months = days / 30
days = days % 30
print("Months = %d Days = %d" % (months, days))

The output

$ ./integer.py
Enter days: 265
Months = 8 Days = 25

In the first line I am taking the input of days, then getting the months and days and at last printing them. You can do it in a easy way

#!/usr/bin/env python3
days = int(input("Enter days: "))
print("Months = %d Days = %d" % (divmod(days, 30)))

The divmod(num1, num2) function returns two values , first is the division of num1 and num2 and in second the modulo of num1 and num2.

Relational Operators¶

You can use the following operators as relational operators

Relational Operators¶

Operator Meaning
< Is less than
<= Is less than or equal to
> Is greater than
>= Is greater than or equal to
== Is equal to
!= Is not equal to

Some examples

>>> 1 < 2
True
>>> 3 > 34
False
>>> 23 == 45
False
>>> 34 != 323
True

// operator gives the floor division result

>>> 4.0 // 3
1.0
>>> 4.0 / 3
1.3333333333333333

Logical Operators¶

To do logical AND , OR we use and ,*or* keywords. x and y returns False if x is False else it returns evaluation of y. If x is True, it returns True.

>>> 1 and 4
4
>>> 1 or 4
1
>>> -1 or 4
-1
>>> 0 or 4
4

Shorthand Operator¶

x op = expression is the syntax for shorthand operators. It will be evaluated like x = x op expression , Few examples are

>>> a = 12
>>> a += 13
>>> a
25
>>> a /= 3
>>> a
8.333333333333334
>>> a += (26 * 32)
>>> a
840.3333333333334

shorthand.py example

#!/usr/bin/env python3
N = 100
a = 2
while a < N:
    print("%d" % a)
    a *= a

The output

Expressions¶

Generally while writing expressions we put spaces before and after every operator so that the code becomes clearer to read, like

a = 234 * (45 - 56.0 / 34)

One example code used to show expressions

#!/usr/bin/env python3
a = 9
b = 12
c = 3
x = a - b / 3 + c * 2 - 1
y = a - b / (3 + c) * (2 - 1)
z = a - (b / (3 + c) * 2) - 1
print("X = ", x)
print("Y = ", y)
print("Z = ", z)

The output

$ ./evaluationexp.py
X =  10
Y =  7
Z =  4

At first x is being calculated. The steps are like this

9 - 12 / 3 + 3 * 2 -1
9 - 4 + 3 * 2 - 1
9 - 4 + 6 - 1
5 + 6 - 1
11 - 1
10

Now for y and z we have parentheses, so the expressions evaluated in different way. Do the calculation yourself to check them.

Type Conversions¶

We have to do the type conversions manually. Like

float(string) -> float value
int(string) -> integer value
str(integer) or str(float) -> string representation
>>> a = 8.126768
>>> str(a)
'8.126768'

evaluateequ.py¶

This is a program to evaluate 1/x+1/(x+1)+1/(x+2)+ … +1/n series upto n, in our case x = 1 and n =10

#!/usr/bin/env python3
sum = 0.0
for i in range(1, 11):
    sum += 1.0 / i
    print("%2d %6.4f" % (i , sum))

The output

$ ./evaluateequ.py
1 1.0000
2 1.5000
3 1.8333
4 2.0833
5 2.2833
6 2.4500
7 2.5929
8 2.7179
9 2.8290
10 2.9290

In the line sum += 1.0 / i what is actually happening is sum = sum + 1.0 / i.

quadraticequation.py¶

This is a program to evaluate the quadratic equation

#!/usr/bin/env python3
import math
a = int(input("Enter value of a: "))
b = int(input("Enter value of b: "))
c = int(input("Enter value of c: "))
d = b * b - 4 * a * c
if d < 0:
    print("ROOTS are imaginary")
else:
    root1 = (-b + math.sqrt(d)) / (2.0 * a)
    root2 = (-b - math.sqrt(d)) / (2.0 * a)
    print("Root 1 = ", root1)
    print("Root 2 = ", root2)

salesmansalary.py¶

In this example we are going to calculate the salary of a camera salesman. His basic salary is 1500, for every camera he will sell he will get 200 and the commission on the month’s sale is 2 %. The input will be number of cameras sold and total price of the cameras.

#!/usr/bin/env python3
basic_salary = 1500
bonus_rate = 200
commision_rate = 0.02
numberofcamera = int(input("Enter the number of inputs sold: "))
price = float(input("Enter the total prices: "))
bonus = (bonus_rate * numberofcamera)
commision = (commision_rate * numberofcamera * price)
print("Bonus        = %6.2f" % bonus)
print("Commision    = %6.2f" % commision)
print("Gross salary = %6.2f" % (basic_salary + bonus + commision))

The output

$ ./salesmansalary.py
Enter the number of inputs sold: 5
Enter the total prices: 20450
Bonus        = 1000.00
Commision    = 2045.00
Gross salary = 4545.00