python--平方根

num = float(input('输入一个数字:'))
num_sqrt = num ** 0.5
print('%0.3f 的平方根为 %0.3f' % (num, num_sqrt))

# 计算实数和复数平方根
# 导入复数教学模块
import cmath

num = int(input("请输入一个数字:"))
num_sqrt = cmath.sqrt(num)
print('{0} 的平方根为 {1:0.3f}+{2:0.3f}j'.format(num, num_sqrt.real, num_sqrt.imag))

另一个版本:先假设我们会用input读取一个输入,它是一个字符串格式的,然后数字常用的是 有小数点的浮点数float和整型int,再考虑可能输入带负号,那么求出的平方根是复数 complex, 所以可以分类讨论,下面的代码缺点是还没考虑到 long 型的。

可以依次输入 : -2.56 -9 1.44 16 来检验。

  import cmath
# # 计算实数和复数平方根# # 导入复数数学模块 isinstance(num ,  (float,int) )
  num = input('输入第一个数字:')
  if num.__contains__('-') and  num.__contains__('.'):  # 负数、浮点数    
    num_sqrt = cmath.sqrt(float(num))
    print('{0} 的平方根为 {1:0.3f}+{2:0.3f}j'.format(float(num), num_sqrt.real, num_sqrt.imag))
  elif num.__contains__('-'):  # # 负数、整数    
    num_sqrt = cmath.sqrt(int(num))
    print('{0} 的平方根为 {1:0.3f}+{2:0.3f}j'.format(int(num), num_sqrt.real, num_sqrt.imag))
  else:
    if num.__contains__('.'):   # 非负数、浮点数 整数        
       num_sqrt = float(num) ** 0.5        
       print(' %0.3f 的平方根为 %0.3f' % (float(num), num_sqrt))
    else:   #  # 非负数、整数       
      num_sqrt = int(num) ** 0.5        
      print(' %0.3f 的平方根为 %0.3f' % (int(num), num_sqrt))

增加异常报错

import cmath
try:    
    num=float(input("请输入一个数字"))
except:    
    print("输入的数字格式不正确,退出")
else:    
    if num>=0:        
        num_sqrt=num**0.5        
        print(f"{num}的平方根是{num_sqrt:.3f}")    
    else:        
        num_sqrt=cmath.sqrt(num)        
        print(f"{num}的平方根是{num_sqrt.real:.3f}+{num_sqrt.imag:.3f}j")

你可能感兴趣的:(python实用案例,python,线性代数,几何学)