python#!/usr/bin/python3
print('Python十三')

#131、数字求和
def sum(a,b):
    c=a+b
    print(c)
d=sum(10,20)

#132、平方根
def sqrt(a):
    c=a**0.5
    print(c)
d=sqrt(9)

#133、二次方程
# 二次方程式 ax**2 + bx + c = 0
# a、b、c 用户提供,为实数,a ≠ 0
#导入cmath(复杂数学运算)模块
# 该实例中,使用了 cmath (complex math) 模块的 sqrt() 方法 来计算平方根
import cmath
a=float(input('输入a参考值1:'))
b=float(input('输入b参考值5:'))
c=float(input('输入c参考值6:'))
#计算
d=(b**2)-(4*a*c)
#两种求解方式
sol1=(-b-cmath.sqrt(d))/(2*a)
sol2=(-b+cmath.sqrt(d))/(2*d)
print('结果为{0}和{1}'.format(sol1,sol2))

#134、计算三角形的面积
a=float(input('请输入三角形边长a:'))
b=float(input('请输入三角形边长b:'))
c=float(input('请输入三角形边长c:'))
#周长
s=a+b+c
print('三角形周长s:',s)
#面积
area=(s*(s-a)*(s-b)*(s-c))**0.5
print('三角形面积:',area)

#135、计算圆的面积
def cicleArea(r):
    PI=3.14
    area=PI*r**2
    print('圆的面积',area)
d=cicleArea(3)

#136、随机数生成
import random
print((random.randint(0,9)))#返回的数字在0~9之间,包含0和9。

#137、摄氏温度转华氏温度

#摄氏温度转华氏温度的公式为 celsius * 1.8 = fahrenheit - 32
 #输入摄氏度
 celsius=float(input('请输入摄氏度:'))
 #计算华氏温度
 fahrenheit=(celsius*1.8)+32
 print('%0.1f 摄氏温度转为华氏温度%0.1f'%(celsius,fahrenheit))#摄氏度和华氏度相互转换
 a = int(input('摄氏度转换为华氏温度请按1\n华氏温度转化为摄氏度请按2\n'))
 while a != 1 and a != 2:
     a = int(input('你选择不正确,请重新输入。\n摄氏度转换为华氏温度请按1\n华氏温度转换为摄氏度请按2\n'))
 if a == 1:
     celsius = float(input('输入摄氏度:'))
     fahrenheit = (celsius*1.8)+32 #计算华氏温度
     print('%.1f摄氏度转为华氏温度为%.1f' %(celsius,fahrenheit))
 else:
     fahrenheit = float(input('输入华氏度:'))
     celsius = (fahrenheit - 32)/1.8 #计算摄氏度
     print('%.1f华氏度转为摄氏度为%.1f' %(fahrenheit,celsius))#138、交换变量
 #输入
 X = input('请输入X:')
 Y = input('请输入Y:')
 #创建临时变量,将 X 的值存储在tmp变量中,接着将 Y 值赋给 X,最后将 tmp 赋值给 Y 变量。
 tmp=X
 X=Y
 Y=tmp
 print('交换后X值:{}'.format(X))
 print('交换后X值:{}'.format(Y))#不使用变量进行变量交换
 x = 3
 y = 6
 # 不使用临时变量
 x,y = y,x
 print('交换后 x 的值为: {}'.format(x))
 print('交换后 y 的值为: {}'.format(y))#异或形式交换变量
 x = 3
 y = 6
 x = x ^ y
 y = x ^ y
 x = x ^ y
 print('交换后的 X 值为:',x)
 print('交换后的 Y 值为:',y)#139、if 语句
 while True:
     try:
         num=float(input('请输入一个数字:'))
         if num==0:
             print('输入的数字是零')
         elif num>0:
             print('输入的数字是正数')
         else:
             print('输入的数字是负数')
         break
     except ValueError:
         print('输入无效,需要输入一个数字')#140、判断字符串是否为数字
 def is_number(s):
     try:
         float(s)
         return True
     except ValueError:
         pass    import unicodedata
     try:
         unicodedata.numeric(s)
         return True
     except (TypeError, ValueError):
         pass
         
     if len(s) < 2:
         return False    try:
         d = 0
         if s.startswith('-'):
             s = s[1:]
         for c in s:
             if c == '-': # 全角减号
                 return False
                 
             if c == '.': # 全角点号
                 if d > 0:
                     return False
                 else:
                     d = 1
                     continue
             unicodedata.numeric(c)
         return True
     except (TypeError, ValueError):
         pass    return False
# 测试字符串和数字
 print(f'{is_number("foo")}')
 print(f'{is_number("1") }')
 print(f'{is_number("1.3") }')
 print(f'{is_number("-1.37") }')
 print(f'{is_number("1e3") }')
 print(f'{is_number("2.345.6") }')
 print(f'{is_number("-5.2-8") }')
 print(f'{is_number("52-8") }')
 print(f'{is_number("-.5") }')
 print(f'{is_number("-5.") }')
 print(f'{is_number(".5") }')# 测试Unicode
 # 阿拉伯语 5
 print(f'{is_number("٥") }')
 # 泰语 2
 print(f'{is_number("๒") }')
 # 中文数字
 print(f'{is_number("四") }')
 print(f'{is_number("四卅") }')
 # 全角数字
 print(f'{is_number("123") }')
 print(f'{is_number("-123") }')
 print(f'{is_number("-123") }')
 print(f'{is_number("12-3") }')
 print(f'{is_number("123-") }')
 print(f'{is_number("1.23") }')
 print(f'{is_number("1.23") }')
 print(f'{is_number(".23") }')
 print(f'{is_number("-.23") }')
 print(f'{is_number("1.23") }')
 print(f'{is_number("1.2.3") }')
 # 版权号
 print(f'{is_number("©") }')