# 二次方程式 ax**2 + bx + c = 0# delta小于0也有解,是复数解# a、b、c 用户提供,为实数,a ≠ 0
a =float(input('输入a:'))
b =float(input('输入b:'))
c =float(input('输入c:'))# 因为要delta小于0时,也需要计算出复数解,所以我们需要导入 cmath(复杂数学运算) 模块import cmath
delta = b**2-4*a*c
res1 =(-b + cmath.sqrt(delta))/(2*a)
res2 =(-b - cmath.sqrt(delta))/(2*a)print("两个解分别是:{0} , {1}".format(res1,res2))#学会用保留几位小数: {0:.3f},即:第0个数字保留3位小数print("保留三位小数的两个解分别是:{0:.3f} , {1:.3f}".format(res1,res2))
5
a =float(input("输入第一条边"))
b =float(input("输入第二条边"))
c =float(input("输入第三条边"))
s =(a + b + c)/2
area =(s *(s-a)*(s-b)*(s-c))print("保留两位小数的面积为:%.2f"% area)
6
# 定义一个方法计算圆的面积,半径作为参数import math
defcalcu_circle(r):
pi = math.pi
s = pi*r*r
return s
# 在pirnt语句里包含:input,会先执行input,然后等一切都确定好后,再全部输出
r =float(input("输入半径值:"))# 百分号% 配 百分号%print("面积为 %.5f"%calcu_circle(r))# {0} 配 formatprint("面积为 {0:.5f}".format(calcu_circle(r)))
defmySwap():
x =input("输入x值:")
y =input("输入y值:")
temp = x
x = y
y = temp
print("交换后的x值为: {0} , 交换后的y值为: {1}".format(x,y))# 也可以不需要temp,直接:# print("交换后的x值为: {0} , 交换后的y值为: {1}".format(y,x))pass
mySwap()
10
deffun():try:
num =float(input("please input a number: "))if num >0:print("positive")elif num <0:print("negtive")else:print("zero")except ValueError:print("invalid input ! please input again!")
fun()# 注意:如果一直输入无效的数据,会使得递归过深,overflow
fun()
11
# 最核心点: float(str)能直接判断str是否是数字,如果不是,会报异常defis_number(s):# 如果是数字try:float(s)returnTrueexcept ValueError:pass# 如果是其他语言的数字,比如 四 是可行的。但为什么 I II III IV V不行 ?try:import unicodedata
unicodedata.numeric(s)returnTrueexcept(TypeError, ValueError):returnFalse# 编译器可以识别出来 1e3 是数字,就相当于123456一样print(is_number(1e3))print(is_number('四'))print(is_number('1'))print(is_number('1.3'))print(is_number('-1.37'))print(is_number('1e3'))print(is_number('foo'))print(is_number('IV'))
12
deffun():try:
num =float(input('输入一个数字: '))if num %2==0:print('是偶数 even')else:print('是奇数 odd')except:print("输入的不是数字, 请重新输入")
fun()
13
defisRN():try:
year =int(input('输入一个年份: '))if(year%400==0)or(year%4==0andnot(year%100==0)):print("{0}是闰年".format(year))else:print("{0}不是闰年".format(year))except:print('请重新输入一个 正整数 年份! ')
isRN()# 1.复习:闰年判断方法# 2.在python里面,位运算 与& 或| 非~ 异或^# 3.区分好Python中的 逻辑运算和 位运算# if (year%400==0) or (year%4==0 and not(year%100==0)): 这么写是对的# if (year%400==0) | (year%4==0 & ~(year%100==0)): 这么写是不对的!!!
isRN()
14
num =int(input('输入你要输入数字的个数: '))
i =1list=[]while i <= num:print('输入第'+str(i)+'个数字: ')# 强制类型转换
temp =float(input())list.append(temp)
i = i+1print("这几个数中,最大的是: {0}".format(max(list)))
15
defisPrime():
num =int(input("请输入一个正整数: "))if num==1or num%2==0:print("{0}不是质数".format(num))else:import math
# range()函数的时候,参数必须是int类型,而 math.sqrt() 返回的是float类型# range(2,9,1) 是遍历 2、3、4 ... 8 不会遍历 9 , 所以还得加上 1list=range(2,int(math.sqrt(num))+1,1)for x inlist:if num%x==0:print("{0}不是质数".format(num))return# 这个地方只能写return,不能写breakprint("{0}是质数".format(num))
isPrime()# 遍历list=['Google','MicroSoft','Apple','Alibaba']for i inrange(len(list)):print(i,list[i])
16
# 输出指定范围内的素数
low =int(input('输入正整数下限: '))
high =int(input('输入正整数上限: '))if low<1or low>high:print("输入信息不合法")else:for x inrange(low, high +1):if x>1:
flag =1for i inrange(2,x):if x%i==0:
flag =0breakif flag==1:print(x)
17
# 阶乘# 规定0的阶乘是1,
num =int(input('输入一个整数: '))if num<0:print("输入不合法")elif num==0:print("0的阶乘是1")else:
s =1for i inrange(1,num+1):
s = s*i
print("{0}的阶乘是{1}".format(num,s))
18
# 九九乘法表for i inrange(1,10):for j inrange(1,i+1):if i==j:print("{0}×{1}={2}".format(i, j, i * j))else:print("{0}×{1}={2}".format(i, j, i * j), end='\t')# print()中 end 表示输出完之后追加一个东西,默认end='\n',你也可以设置成''或者'\t'# print("阿达",end='')# print("ada",end='\t')