Как это сделать?: Если строка содержит прописную букву «X», print(«X замечен!»)

#python #string #if-statement #conditional-statements

#python #строка #if-оператор #условные операторы

Вопрос:

Я работаю над школьным заданием, и оно работает (пока), но я не понимаю, почему я должен был поместить второй if оператор after else в tester функцию, чтобы это if p условие ( Xavier ) работало.

  1. Мне нужно, чтобы кто-нибудь объяснил, почему я не мог использовать if before else в этом случае.
  2. То же условие. На самом деле нужно проверить, содержит ли пользовательский ввод прописную букву X. Я искал в Интернете, но просто не могу понять, какой метод использовать.
      def tester(p, givenstring = "Too short"):    
         result=len(p)
         if result>=10:
             print(p)
         else:
             print(givenstring)
         if p == "Is Xavier here?":  # if p == "X" doesn't work.
             print("X is spotted!")
    
     def main():
         while True:
             prompt=input("Write something (quit ends): ")
             if prompt=="quit":
                 break
             else:
                 tester(prompt)
    
     if __name__ == "__main__":
        main()
     

Комментарии:

1. Что вы подразумеваете под «почему я не мог использовать if before else «? Вы используете if before else .

2. У меня есть if после else. Я подумал, что мне нужно поставить if, elif, else в таком порядке. Но для меня это не сработает, пока я не поставлю if p == после else .

Ответ №1:

 def tester(p, givenstring = "Too short"):    
    result=len(p)
    if result>=10:
        print(p)
    else:
        print(givenstring)
    #Comments should be created using hash(#) not (//) >> //if p == "X" doesn't work.
    if p == "Is Xavier here?":    # this is doing an exact match of the string and not finding 'X'          
        print("X is spotted!")
 
 def tester(p, givenstring = "Too short"):    
    result=len(p)
    if result>=10:
        print(p)
    else:
        print(givenstring)
    if 'X' in p: # this will return True if 'X' is present in p
        print("X is spotted!")

def main():
    while True:
        prompt=input("Write something (quit ends): ")
        if prompt=="quit":
            break
        else:
            tester(prompt)
main()
 
 Write something (quit ends): This is captain x-merica
This is captain x-merica
Write something (quit ends): This is captain X-merica
This is captain X-merica
X is spotted!
Write something (quit ends): quit
 

Комментарии:

1. Удивительно просто. Спасибо, сэр!