محمدرضا هلالی
3 سال پیش توسط محمدرضا هلالی مطرح شد
4 پاسخ

پروژه تکرار کاراکتر یک کلمه

سلام من خواستم این پروژه تمرینی انجام بدم الگوریتم پروژه به این شکل هست که شما یک کلمه به عنوان ورودی به برنامه میدید و برنامه از کاراکتر اول اون استرینگ باید به تعداد اندیس تکرار کنه و بعد مابقی کلمه بهش قرار بگیره
نمونه خروجی

codecup
codecup
oodecup
dddecup
eeeecup
cccccup
uuuuuup
ppppppp

من برنامه نوشتم و خواستم با enumerate اینکار بکنم که اتفاقا درست شد اما مشکل اینه کاراکترهای آخر حذف نمیکنه

name = str(input('please enter your guess word : \n'))
for i in name[0:]:
    if len(name) <= 20:
        y = list(map(lambda c2: c2, name))
        print(name)
        break
    else:
        exit(0)

for num,letter in enumerate(y):
    if num:
          num+= 1
          total = num * letter
          print(total + name[3:])

print('finshed program')

خروجی کد

codecup
codecup
ooecup
dddecup
eeeeecup
cccccecup
uuuuuuecup
pppppppecup
finshed program

ثبت پرسش جدید
محمد صفا کمالی
تخصص : Python Programer &amp; Web Des...
@safakamali 3 سال پیش آپدیت شد
0

سلام
فکر کنم این قسمت:

for i in name[0:]:

مشکل داره. این در واقع هیچ کاری نمی کنه
فکر کنم باید از همچین روشی استفاده کنی

a = "Hello"
e = len(a) - 1

print(a[:e])

یعنی اون for اول رو به این تغییر بدی:

for i in name[:len(name) - 1]:

البته زیاد نفهمیدم مشکل این بوده یا نه ولی به این شک کردم


عبدالرحمان کیانی
تخصص : Backend developer
@abdolrahman 3 سال پیش آپدیت شد
0

شما تو خط ۱۴ ام گفتین ایندکس ۳ به بعد رو بذار تهش خب معلومه اینجوری میشه

من اینو خیلی وقت پیش حل کرده بودم
به این صورت

n = input()
for i in range(len(n)):
    print((n[i]*(i+1))+n[i+1:])

انگار یخورده عجیب نوشتمش😅 ولی راه سریع و جالبی انتخاب کردم


محمدرضا هلالی
تخصص : جونیور تازه کار
@mohammadrezah 3 سال پیش آپدیت شد
0

آره اینم میشه ولی خودم با enumerate میخواستم انجام بدم برنامه درست کار میکنه فقط یک باید هر اندیس تکرار میکنه به کلمه بعدی جامپ کنه و قبلی ننویسه که نمیدونم چجوری اینکار کنم


محمدرضا هلالی
تخصص : جونیور تازه کار
@mohammadrezah 3 سال پیش مطرح شد
0

میخوام یک کاری کنم که به هر بار برنامه خودش کاراکترهای بعدی که وجود دارن بریزه توی لیست و بعد بتونم اون کاراکترها به کاراکترهای قبلی بچسبونم هر کاری کردم با slice نتونستم اینکار انجام بدم
![ ![تصویر][1]][1]

[1]:
https://static.roocket.ir/images/editor/2022/4/9/Lz297oKuTgQHqWJyJxHCadamQQEmlBzto0wQa56m.jpg
در تصویر همه چیز مشخصه و ایراد کار هم اون قسمت اندیس هست که گزاشتم 2 به بعد و برای همین از کاراکتر سوم درست نشون نمیده میشه دقیقا بگید چجوری کار کنم هر کاراکتر چک کنه و فقط کاراکترهای بعدی بنویسه
@milad
@arastoo

for num,letter in enumerate(y):
    if num:
          num+= 1
          total = num * letter
          print(total + name[2:])

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام