Python 3, если /elif проблема
У меня есть оператор if/elif в моем фрагменте кода ниже... по какой-то причине, даже когда я запускаю оператор elif, консоль все еще печатает оператор if вместо elif... я уверен, что упустил что-то глупое.
use_stim = str.lower (input ("Вы хотите использовать этот стимпак сейчас?"))
if "ok" in use_stim or "okay" in use_stim or "yes" in use_stim or "sure" in use_stim or "you bet" or "good idea" in use_stim:
char_health = char_health + char_stim_heal
char_stims = char_stims - 1
print(char_name + ": Using stimpak, I feel better")
print("")
print("***STATS***")
print("Health:" + str(char_health))
print("Stimpaks:" + str(char_stims))
print("***STATS***")
print("")
search_next = str.lower(input(char_name + ": Alright, what's next? Weapons or amunition?"))
print(username + ": " + search_next)
elif "no" in use_stim or "nope" in use_stim or "never" in use_stim or "no way" in use_stim or "not a chance" in use_stim or "i don't think so" in use_stim:
print(user_name + ": " + use_stim)
print(char_name + ": Alright, i'll save it for later.")
char_stims = 1
char_health = 75
print("")
print("***STATS***")
print("Health:" + str(char_health))
print("Stimpaks:" + str(char_stims))
print("***STATS***")
print("")
1 ответ
Это потому что ты скучаешь по in use_stim
в первом операторе if после "You bet"
;
if "ok" in use_stim or "okay" in use_stim or "yes" in use_stim or "sure" in use_stim or "you bet" in use_stim or "good idea" in use_stim:
char_health = char_health + char_stim_heal
char_stims = char_stims - 1
print(char_name + ": Using stimpak, I feel better")
print("")
print("***STATS***")
print("Health:" + str(char_health))
print("Stimpaks:" + str(char_stims))
print("***STATS***")
print("")
search_next = str.lower(input(char_name + ": Alright, what's next? Weapons or amunition?"))
print(username + ": " + search_next)
elif "no" in use_stim or "nope" in use_stim or "never" in use_stim or "no way" in use_stim or "not a chance" in use_stim or "i don't think so" in use_stim:
print(user_name + ": " + use_stim)
print(char_name + ": Alright, i'll save it for later.")
char_stims = 1
char_health = 75
print("")
print("***STATS***")
print("Health:" + str(char_health))
print("Stimpaks:" + str(char_stims))
print("***STATS***")
print("")
Это должно работать сейчас.
Пару заметок для вас, если хотите;
Вы можете добавить дополнительную строку между операторами печати, используя
/n
так что вы можете удалитьprint("")
заявления и добавить\n
к предыдущему утверждению, например;print(char_name + ": Using stimpak, I feel better\n") <<< Add \n here print("") <<< Remove this print("***STATS***") print("Health:" + str(char_health)) print("Stimpaks:" + str(char_stims)) print("***STATS***\n") <<< Add \n here print("") <<< Remove this
Использование
in
будет искать текст, который вы указали в любом месте строки, поэтому"no" in use_stim
будет работать наno
,nope
,no way
а такжеnot a chance
Поэтому вы можете упроститьelif
заявление к;
elif "no" in use_stim or "never" in use_stim or "i don't think so" in use_stim: