🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۳ saeed fadaoddini
حل تمرین به شیوه ای که نمی‌دونم درسته یا نه ولی خوب جواب رو درست بر می‌گردونه
جامعه پایتون (وب) ایجاد شده در ۰۲ آذر ۱۴۰۱
from data import words
word1 = words[0]
word2 = words[1]
word3 = words[2]
def minlenwords(word1,word2,word3):
    minlen=0
    lenword1 = len(word1)
    lenword2 = len(word2)
    lenword3 = len(word3)
    if lenword1 <= lenword2:
        minlen = lenword1
    else:
        minlen = lenword2
    if minlen <= lenword3:
        minlen = minlen
    else:
        minlen = lenword3
    return minlen
minlen = minlenwords(word1, word2, word3)
for i in range(minlen):
    if word1[i] == word2[i]:
        if word1[i] == word3[i]:
            print(word1[i])
        else:
            break
    else:
        break
print("finished")

ابتدا کمترین طول رشته رو بین سه کلمه توسط تابع minlenwords بدست آوردم

در قدم بعد روی یک for به تعداد کمترین طول رشته شروع به پیمایش کردم

در قدم بعدی داخل حلقه از دو شرط تو در تو استفاده کردم که اولی حرف اول دو کلمه اول رو با هم مقایسه می‌کنه که اگر با هم یکسان بود نتیجه رو با کلمه سوم هم مطابقت میده و در نهایت اگر هر سه برابر باشند خروجی رو چاپ می‌کنه و در غیر اینصورت از حلقه خارج میشه

saeed fadaoddini ۰۲ آذر ۱۴۰۱، ۱۴:۱۴

البته یادم رفت قبل از حلقه اولی می‌بایست یک متغیر رشته تعریف می‌کردم که ابتدا خالی باشه به این صورت

exitword=''

و بعد از اون در داخل حلقه دومی که داره چاپ می‌کنه الحاق می‌کردم و در نهایت رشته رو کامل تحویلش می‌دادم

exitword +=str(word1[i])

و در نهایت هم خارج از حلقه پرینت می‌کردم

print(exitword)


saeed fadaoddini ۰۲ آذر ۱۴۰۱، ۱۶:۵۷

کد نهایی به این صورت می‌شه

from data import words
word1 = words[0]
word2 = words[1]
word3 = words[2]
def minlenwords(word1,word2,word3):
    minlen=0
    lenword1 = len(word1)
    lenword2 = len(word2)
    lenword3 = len(word3)
    if lenword1 <= lenword2:
        minlen = lenword1
    else:
        minlen = lenword2
    if minlen <= lenword3:
        minlen = minlen
    else:
        minlen = lenword3
    return minlen
minlen = minlenwords(word1, word2, word3)
exitword=''
for i in range(minlen):
    if word1[i] == word2[i]:
        if word1[i] == word3[i]:
            exitword +=str(word1[i])
        else:
            break
    else:
        break
print(exitword)


saeed fadaoddini ۰۲ آذر ۱۴۰۱، ۱۶:۵۸