为什么我的程序不会从用户注册输入

时间:2017-05-20 18:16:13

标签: python

我正在尝试在python 3.5中创建一个程序,它基本上是一个计算器,如果用户输入的无花果聚在一起形成一个有效的三角形,那就可以了。

但是,在运行程序时,在控制台中输入的任何浮动都没有注册。

我正在使用视觉编码工作室,而且我在编码时也是一个菜鸟,所以任何建设性的批评都非常受欢迎。

print("************************")                                                                                                      
print("** ASSIGNMENT (V 2.6) **")
print("************************")

# User input variables / functions

side_a = float(input("please input the length of the 1st side of the triangle "))                                                      
side_b = float(input("please input the length of the 2nd side of the triangle "))                                                    
base   = float(input("please input the length of the base of the triangle "))                                                            


# Formulas 

perim_halved     = (side_a+side_b+base)/2                                                                                                 
area_of_triangle = ((perim_halved*(perim_halved-side_a)*(perim_halved-side_b)*(perim_halved-base))**(1/2))                                                       
perimeter        = (side_a+side_b+base)                                                                                                    
height           = (area_of_triangle/base)                                                                                                      


# Def Functions                                                                                                                      

def valid_triangle():
    print("******* Your triangle is valid ******** ")                                                                                 
    print("******* Area of triangle  =", area_of_triangle,"*******")                                                                 
    print("******* Perimeter of triangle =", perimeter,"*******")                                                                   
    print("******* Height of triangle = ", height,"*******")                                                                        

def invalid_triangle():
    print("******* Your triangle is not valid *******")                                                                                
    print("******** Goodbye ********")

def scalene():
    print("******* Your triangle is a Scalene triangle *******")                                                                        
def isosceles():
    print("******* Your triangle is an Isosceles triangle *******")                   
def equilateral():
    print("******* Your triangle is an Equilateral triangle *******")
def right_angle():
    print("******* Your triangle is a Right angled triangle *******")
def scalene_right_angle():
    print("******* Your triangle is a scalene and a right angled triangle ********")
def isosceles_right_angle():
    print("******* Your triangle is an Isosceles and a right angled triangle *******")

# If statements 

if side_a + base > side_b and side_a +side_b > base and base + side_b > side_a :                                                 


if side_a == side_b and side_b == base:                                                                                            
    valid_triangle()                                                                                                               
    equilateral()                                                                                                                  


elif side_a == side_b and side_b != base:                                                                                          
    if side_a**2+side_b**2==base**2:                                                                                              
        valid_triangle()                                                                                                           
        isosceles_right_angle()                                                                                                       
    elif side_a**2+side_b**2!=base**2:                                                                 
        valid_triangle()                                                                                                              
        isosceles()                                                                                                                     


elif side_a != side_b or base and side_b != side_a or base and base != side_a or side_b:             
    if side_a**2+side_b**2==base**2:                                                                    
        valid_triangle()                                                                                                           
        scalene_right_angle()                                                                                               
    elif side_a**2+side_b**2!=base**2:                                                                  
        valid_triangle()                                                                                                              
        scalene()                                                                                                                        

# Right angle only

elif side_a**2+side_b**2==base**2:                                                                      
    valid_triangle()                                                                                                       
    right_angle()                                                                                                          

else:
    invalid_triangle()                                                                                                         

1 个答案:

答案 0 :(得分:0)

你有不恰当的缩进代码 - 在Python中它很重要!

之后的几乎所有行
if side_a + base > side_b and side_a +side_b > base and base + side_b > side_a :      

必须缩进(除了最后2个)。

所以你的完整修正代码(它的工作原理 - 我测试过它)将是:

# Tested (and works) in Python 3.5.2

print("************************")                                                                                                      
print("** ASSIGNMENT (V 2.6) **")
print("************************")

# User input variables / functions

side_a = float(input("Please input the length of the 1st side of the triangle: "))                                                      
side_b = float(input("Please input the length of the 2nd side of the triangle: "))                                                    
base   = float(input("Please input the length of the base of the triangle    : "))                                                            


# Formulas 

perim_halved     = (side_a+side_b+base)/2                                                                                                 
area_of_triangle = ((perim_halved*(perim_halved-side_a)*(perim_halved-side_b)*(perim_halved-base))**(1/2))                                                       
perimeter        = (side_a+side_b+base)                                                                                                    
height           = (area_of_triangle/base)                                                                                                      


# Def Functions                                                                                                                      

def valid_triangle():
    print("******* Your triangle is valid ******** ")                                                                                 
    print("******* Area of triangle  =", area_of_triangle,"*******")                                                                 
    print("******* Perimeter of triangle =", perimeter,"*******")                                                                   
    print("******* Height of triangle = ", height,"*******")                                                                        

def invalid_triangle():
    print("******* Your triangle is not valid *******")                                                                                
    print("******** Goodbye ********")

def scalene():
    print("******* Your triangle is a Scalene triangle *******")                                                                        
def isosceles():
    print("******* Your triangle is an Isosceles triangle *******")                   
def equilateral():
    print("******* Your triangle is an Equilateral triangle *******")
def right_angle():
    print("******* Your triangle is a Right angled triangle *******")
def scalene_right_angle():
    print("******* Your triangle is a scalene and a right angled triangle ********")
def isosceles_right_angle():
    print("******* Your triangle is an Isosceles and a right angled triangle *******")

# If statements 

if side_a + base > side_b and side_a +side_b > base and base + side_b > side_a :                                                 


    if side_a == side_b and side_b == base:                                                                                            
        valid_triangle()                                                                                                               
        equilateral()                                                                                                                  


    elif side_a == side_b and side_b != base:                                                                                          
        if side_a**2+side_b**2==base**2:                                                                                              
            valid_triangle()                                                                                                           
            isosceles_right_angle()                                                                                                       
        elif side_a**2+side_b**2!=base**2:                                                                 
            valid_triangle()                                                                                                              
            isosceles()                                                                                                                     


    elif side_a != side_b or base and side_b != side_a or base and base != side_a or side_b:             
        if side_a**2+side_b**2==base**2:                                                                    
            valid_triangle()                                                                                                           
            scalene_right_angle()                                                                                               
        elif side_a**2+side_b**2!=base**2:                                                                  
            valid_triangle()                                                                                                              
            scalene()                                                                                                                        

    # Right angle only

    elif side_a**2+side_b**2==base**2:                                                                      
        valid_triangle()                                                                                                       
        right_angle()                                                                                                          

else:
    invalid_triangle()  
相关问题