为什么其他语句未执行?

时间:2020-11-08 09:32:51

标签: python python-3.x

enter image description here。点击图片以查看代码。

现在看起来周界不是字符串,而是if正在执行的语句。为什么?

def computetiles(图宽,图长,图宽,图长): #if type((plot_width)== str或plot_length == str或tile_width == str或tile_length == str: 如果type((plot_width)== str或(plot_length)== str或(tile_width)== str或(tile_length)== str):#== str: 打印(“你好”) 其他: 打印(无) #elif plot_width == 0或plot_length == 0或tile_width == 0或tile_length == 0: #print(“零”) #其他: #aP = plot_width * plot_length #aT = tile_width * tile_length #calculatetiles = aT / aP #calculatetiles = int(calculatetiles) #print(“图块数量为:”,(calculatetiles)) 计算量(2,3,3,3)

1 个答案:

答案 0 :(得分:0)

这将完成您想做的事情,但是您可能会遇到整数除法的问题。由于您没有指定参数是什么,因此我假设您对此并不陌生,并且确实尝试将两个整数相除

def calculatetiles(plot_width, plot_length, tile_width, tile_length):
    if plot_width == str or plot_length == str or tile_width == str or tile_length == str:
        print("hello")
    elif plot_width == 0 or plot_length == 0 or tile_width == 0 or tile_length == 0:
        print("zero")
    else:
        aP = int(plot_width) * int(plot_length)
        aT = int(tile_width) * int(tile_length)
        calculatetiles = aT / aP
        calculatetiles = int(calculatetiles)
        print("The no of tiles is:", (calculatetiles))

编辑:由于问题本身已被编辑为其他问题...
首先,请以格式文本而不是图像的形式提供代码,然后在您进行编辑时,if type(...): 这将始终返回true,因为您放置在其中的语句为布尔值,因此类型返回boolean,它不是空值,因此被if语句解释为true。为了您的目的,只需删除该行。如果您想正确执行操作,则必须使用isinstance