중간시험 python

김혜지·2021년 5월 23일
post-thumbnail

Notes:
문자열의 첫번째 문자는 인덱스 값 0 을 가집니다.
만약 문자열에 해당 문자가 여러번 나타나면, 첫번째로 나타나는 위치를 반환해야 합니다.
만약 문자가 문자열에 존재하지 않는다면, -1 을 반환해야 합니다.
find 함수를 사용하지 마세요.
#output = get_find('a', 'I am a hacker')
print(output) # --> 2

내 코드

def get_find(char, str):
for i in range(0,len(str)):
if str[i]== char:
return i
if char not in str:
return -1

Model Solution

def get_find(char, str):
  if char not in str:
      return -1
  for i in range(0,len(str)):
      if str[i] == char:
          return i
          ```

if문과 for문을 사용하여 if문으로 str에 char가 없으면 1 반환을 먼저하게 했다.for문으로 str 안에서 i 값을 확인하며 str[i]가 char의 매개변수가 같을 경우 i 를 반환해주도록 했다.

find_longestword

Notes:주어진 리스트안에 있는 단어중 가장 긴 단어를 찾을수 있도록 함수를 완성해주세요.
#print(find_longest_word(["PHP", "Exercises","Backend"])) # --> "Exercises"

내 코드

#함수 아닐 때
words = ["PHP", "Exercises", "Backend"]
long = 0
for index in range(len(words)):
if len(words[index]) > len(words[long]):
long = index
print(words[best])

!주어진 리스트 속에서 가장 긴단어를 찾는다는 생각으로 했더니 함수로 만들 생각을 못했다.

Model Solution

def find_longest_word(words):
  long = words[0]
  for word in words:
    if len(long) < len(word):
      long = word    
  return long









0개의 댓글