while文を使うの、逆に難しい気がしますね。
input関数は入力を文字列型として返します。
while文で数値として比較するのなら、int関数で数値型にしておきましょう。
さて、while文の内容ですが、いろんな書き方があると思います。以下は一つの例です。
n = int(input())
k = 1
while k <= n:
if k == n: # 最後は「:」をつけない
print(k)
else:
print(str(k) + ":", end="") # print関数にキーワード引数として end="" を与えると改行しません
k += 1
ちなみに、while文を使う必要がなければ、このように書けます。
n = int(input())
print(":".join([str(i+1) for i in range(n)]))
ついでの指摘ですが、質問文でコードの挿入ができていません。
「'''py」と「'''」の部分は、シングルクォート「'」ではなくバッククォート「`」です。
Shift+@で入力できます。
コードの挿入は見やすくなるだけではなく、コピーも簡単になるので、実際にプログラムを実行したりして、質問に答えやすくなります。(特にPythonはインデントが重要な言語なので)
以後気をつけてくださいね。