首页 > 解决方案 > 为什么我的输出不会产生任何结果(甚至没有错误)?

问题描述

size = input("What size pizza do you want? S, M, or L ")
addpepperoni = input("Do you want pepperoni? Y or N ")
extracheese = input("Do you want extra cheese? Y or N ")

S = 15 
M = 20
L = 25 
N = 0

if size == S: 
    if addpepperoni == N:
        if extracheese == N:
            bill = S 
            print ("cool")

只是测试一下,看看是否有任何打印,但没有打印,甚至没有错误。我在这里做错了什么?

标签: python

解决方案


这段代码的问题在这里:

if size == S: 
    if addpepperoni == N:
        if extracheese == N:

您已分配S给 15 和N0,因此代码认为您想要做的是:

if size == 15: 
    if addpepperoni == 0:
        if extracheese == 0:

这是因为您正在检查 variablesize是否等于 variable S。对此的解决方法是将其设为string,例如:

if size == 'S': 
    if addpepperoni == 'N':
        if extracheese == 'N':

您可以做的另一件事来改进您的代码是使用and, 只用一个if语句检查多个条件,例如:

if size == 'S' and addpepperoni == 'N' and extracheese == 'N':

这现在将检查是否size等于字符串S而不是变量S,并且其他两个相同。有关数据类型的更多信息,请访问此处


推荐阅读