#python #string #if-statement #conditional-statements
#python #строка #if-оператор #условные операторы
Вопрос:
Я работаю над школьным заданием, и оно работает (пока), но я не понимаю, почему я должен был поместить второй if
оператор after else
в tester
функцию, чтобы это if p
условие ( Xavier
) работало.
- Мне нужно, чтобы кто-нибудь объяснил, почему я не мог использовать
if
beforeelse
в этом случае. - То же условие. На самом деле нужно проверить, содержит ли пользовательский ввод прописную букву 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
beforeelse
«? Вы используетеif
beforeelse
.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. Удивительно просто. Спасибо, сэр!