16 תשובות
היי, את רוצה שאכתוב לך את הפונקציה המדויקת או שאעזור לך להבין איך פותרים את השאלה ותנסי לבד?
:(if any(letter in word for word in lst
תשתמשי בתנאי הזה כאשר lst זו הרשימה וletter זה האות של המשתמש
שואל השאלה:
אני ממש צריכה עזרה קצת
יותר מורחבת כי כל מה שאני עושה לא
עובד או שיש שגיאה
magnum opus - אתה בודק האם התו נמצא באחת מהמילים לפחות, אבל לא מדפיס את המילים הרלוונטיות
def print_relevant_names (letter):
for word in words_list:
if letter in word:
print (word)
בשורה הראשונה אני מגדיר את הפונקציה print_relevant_names שמקבלת את האות שהמשתמש הכניס לך
letter - האות מהמשתמש
words_list - רשימת המילים שלך
word - זה המשתנה של הלולאה שרץ על הרשימה של המילים...
שואל השאלה:
זה עבד תודה!!!!!
צודק לא שמתי לב לחלק הזה
שואל השאלה:
אבל רגע יש אפשרות לעשות את זה בתוך פונקציה? כי ביקשו פונקציה בעיקרון
מה שהוא שלח זו פונקציה
def print_relevant_names (letter):
for word in words_list:
if letter in word:
print (word)

ואז פונקציית הmain תראה בערך כך:
l = input('enter a letter')
print_relevant_names(l)
שואל השאלה:
לא עובד לי
## function for printing names
def print_relevant_names(letter, names):
for name in names:
if letter in name:
print(name + ', ')


## main code
my_names = ['bob', 'joe', 'alis', 'dilan', 'moses', 'elen', 'tyler']

if __name__ == '__main__':
input_letter = input('enter a letter:')
print_relevant_names(input_letter, my_names)
זה הקוד השלם שאמור לפתור את הבעיה. אם הוא לא עובד לך יכול להיות שאת עושה משהו לא נכון בסביבת הפיתוח שלך (pycharm?)
func=lambda li,ch:'\n'.join(a for a in li if ch in a)

#זה הרשימה של השמות
li_name=['shir','tamar','noa']

#כאן אני קוראת אל הפונקצייה
print(func(li_name,input('input: ')))