変数とは、「変化する数」を取っておくための入れ物と考えると分かり易いです。
以下のようなイメージですね。
「R」という箱に「100」という数字を格納しています。

勿論、数値だけではなく文字列を格納しておくことも可能です。実際にコードで書くと以下のようになります。
R = 100
print(R)
100
数値として格納しているので、以下のような計算もできます。
R + R
200
次に文字列を格納してみます。
R = "Watashiha"
print(R)
Watashiha
文字列を格納する場合には「”」、もしくは「’」で括りましょう。
文字列に対して計算をしてみます。
R + R
WatashihaWatashiha
R - R
TypeError: unsupported operand type(s) for -: 'str' and 'str'
R * R
TypeError: can't multiply sequence by non-int of type 'str'
R / R
TypeError: unsupported operand type(s) for /: 'str' and 'str'
基本的に文字列を計算できないので、エラーとなります。ただし、文字を継ぎ足すということで足し算だけはできます。
・活用例
変数の簡単な活用例を以下にまとめます。
one = 100
two = 200
def test1():
res = one + two
print(res)
test1()
300
one = 400
test1()
600
#変数を変更するだけで、答えを変えられる。計算式そのものを変更する必要がない
def test2():
global R
while R != 10:
R += 1
print(R)
R = 1
test2()
2
3
4
5
6
7
8
9
10
関数の中で変数を変更していく場合には該当変数に「global」を記述する必要がある