【问题标题】:nested conditionals assignment in #python3#python3 中的嵌套条件赋值
【发布时间】:2018-02-05 12:52:54
【问题描述】:

我已经为这段代码苦苦挣扎了将近一个星期,我已经用很多不同的方式编写了它,但我还没有找到一种 100% 有效的方式。 无论如何,我会发布任务和我最近的尝试,你能告诉我我做错了什么吗?:

任务:

程序:衬衫订购 首先获取颜色和大小的输入 白色的尺寸为 L、M 蓝色的尺码为 M、S 打印可用或不可用,然后 打印颜色和尺寸的订单确认 提示:在嵌套 if 语句和之前设置一个变量“available = False”

如果颜色和大小可用,则更改为 True

我的代码:

print ("welcome to our store, we have some great shirts on sale")

shirt_color = ("w" + "b")

shirt_size =("s" + "m" + "l")


available = False


first_color = input("please select a color: ")

choosen_color = first_color



if choosen_color.lower() in shirt_color.lower() == "w":

    second_size = input("please choose a size")


    choosen_size = second_size


    if choosen_size.lower() in shirt_size.lower() == "l":


        available = True


        print ("order confirmed")


        print (available)


    elif choosen_size.lower() in shirt_size.lower() == "m":

            available = True

    print ("order confirmed")

    print (available)

    if choosen_color.lower() in shirt_color.lower() == "b":

        second_size = input("please choose a size")

    choosen_size = second_size

    if choosen_size.lower() in shirt_size.lower() == "m":

        available = True

        print ("order confirmed")

        print (available)

    elif choosen_size.lower() in shirt_size.lower() == "s":

            available = True

    print ("order confirmed")

    print (available)

else:

    print ("not confirmed")

    print (available)

【问题讨论】:

  • 你得到了什么,你期望什么?

标签: python-3.x


【解决方案1】:

有问题的部分是按以下方式编码的条件语句: choosen_color.lower() in shirt_color.lower() == "w"

首先检查chosen_color 是否有效(在允许的颜色中)就足够了:

choosen_color.lower() in shirt_color.lower()

如果它实际上是您要检查的颜色之一,则分别:

choosen_color.lower() in shirt_color.lower() and choosen_color.lower() == "w"

以类似的方式更改代码的大小应该可以帮助您使代码按您的意愿工作。

【讨论】:

  • 如果您觉得答案有帮助,我将不胜感激支持和/或接受正确的答案。
猜你喜欢
  • 2020-09-13
  • 2017-05-28
  • 1970-01-01
  • 2020-01-11
  • 1970-01-01
  • 2017-03-18
  • 1970-01-01
  • 2021-03-04
  • 1970-01-01
相关资源
最近更新 更多