嵌套if语句只会触发python 3.5.2中的top if语句
这是我的节目。它的全部前提是,它应该是一个由输入和添加到字符串中的故事:嵌套if语句只会触发python 3.5.2中的top if语句,python,if-statement,nested,Python,If Statement,Nested,这是我的节目。它的全部前提是,它应该是一个由输入和添加到字符串中的故事: from random import * pribeh = str(input("Vyber si typ príbehu.\n\n A - Invázia\n B - Návšteva\n C - Obed\n ")) if pribeh == "A" or "a": meno1 = str(input("Zadaj meno\n")) pribehA1 = ("Jedného dna som st
from random import *
pribeh = str(input("Vyber si typ príbehu.\n\n A - Invázia\n B - Návšteva\n C - Obed\n "))
if pribeh == "A" or "a":
meno1 = str(input("Zadaj meno\n"))
pribehA1 = ("Jedného dna som stanoval s mojim kamarátom " + meno1 + ".")
farba1 = str(input("Zadaj farbu (v dátive, ženský rod)\n"))
pribehA2 = ("Zrazu sme videli svetlo " + farba1 + " farby.")
velkost1 = str(input("Zadaj velkost\n (VELKÁ(A), ALEBO MALÁ?(B), v inštrumentáli, ženský rod)\n"))
if velkost1 == "A" or "a":
velkost1 = 50
pribehA3 = ("Zo svetla sa vynorila postava s velkou hlavou.")
elif velkost1 == "b" or "B":
velkost1 = 10
pribehA3 = ("Zo svetla sa vynorila postava s malou hlavou.")
sloveso1 = str(input("Vyber sloveso\n (C) - utekat\n (D) - schovat\n"))
if sloveso1 == "A" or "a":
pribehA4 = ("Cudný tvor nás vydesil, tak sme sa rozhodli utekat.")
lokalita1 = str(input("Zadaj miesto (v akuzatíve)\n"))
pribehA5 = ("Utiekli sme na " + lokalita1 + ".")
elif sloveso1 == "B" or "b":
pribehA4 = ("Cudný tvor nás vydesil, tak sme sa rozhodli schovat.")
lokalita1 = str(input("Zadaj miesto (v akuzatíve\n)"))
pribehA5 = ("Po schovávani sme už tvora nevideli. Všetko sme zbalili a odišli na " + lokalita1 + ".\n")
print(pribehA1)
print(pribehA2)
print(pribehA3)
print(pribehA4)
print(pribehA5)
print("Nakoniec som sa zobudil sám doma. Teraz sa seba pýtam, je to co sa stalo realitou, alebo len bujný sen?")
else:
mesto = str(input("Zadaj mesto (lokál)\n"))
podm1 = str(input("Zadaj podstatné meno\n"))
podm2 = str(input("Zadaj podstatné meno\n"))
hobby = str(input("Zadaj hobby\n"))
pridm = str(input("Zadaj prídavné meno\n"))
print("Na výlete v " + mesto + "som navštívil môjho strýka.")
print("Strýko mal v jeho dome mnoho ozdôb ako napríklad "+ podm1 +".")
print("Casto krát mi hovoril rady z jeho životnej skúsenosti ako napríklad, že nemám jest "+ podm2+".")
print("Jeho oblubene hobby je " + hobby + "." )
print("Osobne si myslím, že môj strýko je velmi" + pridm +"clovek.")
在您的情况下,有条件的备选方案:
velkost1 == "A" or velkost1 == "a"
velkost1 in ["A", "a"]
velkost1.lower() == "a"
velkost1.upper() == "A"
在您的情况下,velkost1==“A”或“A”
:
- 第一个条件:
可以是velkost1==“A”
或True
,具体取决于False
velkost1
- 第二个条件:
,它将始终为“a”
真
或
操作,输出将始终为True
退出或继续
pribeh = str(input("Vyber si typ príbehu.\n\n A - Invázia\n B - Návšteva\n C - Obed\n "))
while pribeh.lower() in ['A', 'B', 'C']:
if pribeh == "A" or "a":
# do something
else:
# do something
pribeh = str(input("Vyber si typ príbehu.\n\n A - Invázia\n B - Návšteva\n C - Obed\n "))
现在,程序只会执行,如果用户输入的字母不是“a”、“b”或“c”,在while循环结束时,我们再次获取用户输入,基本上他可以从那里继续输入“a”、“b”或“c”,并可以通过输入任何其他字符退出。这与您认为的情况不同
velkost1==“a”或“a”
这永远是正确的。输入已经是字符串,您可以减少不检查大小写的条件。我应该用什么替换它?有什么好的选择吗?@Mckayif-pribeh.lower()=“a”:…
对于不区分大小写的匹配,如果pribeh-in(“a”,“a”):…对于多个匹配。你的其他情况也是一样。非常感谢你,我现在很高兴。我已经很喜欢这个网站了。因为他是一个初学者,我建议他做些修改并展示一些正确的代码。我的想法是一样的,但因为他是一个初学者,这就是为什么我发布了错误以及可能的解决方案。现在一切都正常了。我只需要输入某人是否想要退出,或者完全重新启动整个过程,如果可能的话请选中我的编辑,通过这种方式,您将能够实现退出/继续功能。如果这解决了您的问题,请将其标记为正确答案。