好的,所以我正在研究豬拉丁語翻譯器(就像Codecademy課程中的那種,但更先進),它的工作原理除了當我提示用戶如果他們想翻譯另一個單詞,但是我給用戶的if/else語句總是跳到其他語句,而不管輸入是什麼。該模塊不提供任何語法錯誤或任何錯誤,並且我沒有看到任何代碼錯誤。這是從我的程序,是給我的問題塊:Python 3:if/else語句直接跳到其他地方
def translator():
job = input("Are you translating TO or FROM PygLatin? ")
if job.upper() == "TO":
word = input("Alright, what's the word we're translating? ")
wordlength = len(word)
firstletter = word[0]
choppedword = word[1:wordlength]
completeword = choppedword + firstletter + pyg
print("Okay! Your translated word is...")
time.sleep(3)
print(completeword)
time.sleep(3)
redo = input("Wanna translate something else? Y/N ")
if redo.upper == "Y":
print("Awesome!")
time.sleep(3)
translator()
else:
print("Oh, okay then... Bye " + name + "!")
sys.exit()
elif job.upper() == "FROM":
word = input("Alright, what’s the word we’re translating? ")
wordlengthtwo = int(len(word))
firstletterindex = int(wordlengthtwo - 3)
firstletter = word[firstletterindex]
choppedword = word[0:firstletterindex]
newword = str(firstletter.upper() + choppedword)
print("Okay! Your translated word is...")
time.sleep(3)
print(newword)
time.sleep(3)
again = input("Wanna translate something else? Y/N ")
if again.upper == "Y":
print("Awesome!")
time.sleep(3)
translator()
else:
print("Oh, okay then... Bye " + name + "!")
sys.exit()
更具體地說,這些部件在編碼:
redo = input("Wanna translate something else? Y/N ")
if redo.upper == "Y":
print("Awesome!")
time.sleep(3)
translator()
else:
print("Oh, okay then... Bye " + name + "!")
sys.exit()
而且,
again = input("Wanna translate something else? Y/N ")
if again.upper == "Y":
print("Awesome!")
time.sleep(3)
translator()
else:
print("Oh, okay then... Bye " + name + "!")
sys.exit()
所以...任何想法爲什麼這可能會發生或如何解決它?
輸出示例? –
嘗試「upper()」,而不是「upper」。 – gustafbstrom
@gustafbstrom謝謝你,工作。我完全忘了那部分。 DERP。 :P –