بهتره به این صورت نوشته بشه تا برای اعداد بیش از دو برابر عدد ورودی هم کار کنه و نیاز به شرط و اینها هم نداره
def rotate(st, num):
double = st + st
num = num % len(st)
return double[num:num+len(st)]
ارسال نظر
با سلام و خسته نباشید خدمت امیرحسین خان گل.
با تشکر از سایت خوبت
خواستم بگم این الگوریتم برای اعداد بالاتر از 10 تا 15 درست کار نمیکنه و برای اعداد بالاتر از 15 اصلا کار نمیکنه. به نظر من کد بصورت زیر باشه هر عددی بدی درست کار میکنه:
: def rotate(string, num)
str1 = list(string)
:for i in range(num)
r=str1.pop(0)
str1.append(r)
return ''.join(str1)
print(rotate('hello',23))
ارسال نظر
درسته من هم به این صورت نوشتم:
def rotate(str, num):
r = [str[(i + num) % len(str)] for i in range(len(str))]
return ''.join(r)
سلام برای اعداد بزرگتر میتونی به این صورت عمل کنی
def rotate(string: str, degree: int) -> str:
degree %= len(string)
double_string = string + string
return double_string[degree:degree+len(string)]
ارسال نظر