機能は以下。while ループと if ステートメントを使用してより多くの練習をしたいので、これには while ループを使用し、メソッドは使用したくありません。
def remove_leading_zeros(s):
'''(str) -> str
Return s, but without any extra leading zeros
e.g. given "007", return "7"
Precondition: Each character of s is a number.
'''
i = 0
r = ''
while i < len(s):
if s[i] != '0':
r = r + s[i]
i += 1
return r
したがって、 とremove_leading_zeros('0001950')
入力すると、出力が になります'1950'
。
ただし、上記の関数では、すべてのゼロを省略しているようです。先頭のゼロのみを省略する関数を作成するには、何を変更すればよいですか?
も試しr = r + s[i:]
たので、ゼロ以外が検出されるとすぐに、その後すべてが返されますが、それだけでループを終了する方法がわかりません。
解決しました。助けてくれたすべてに感謝します!