前言:python语言要求缩进格式一致,不然会报错(要么全用空格,要么全用tab)
一,赋值运算符
注:python里没有自加自减
- ( = ) 等于
- ( >= ) 大于等于
- ( <= ) 小于等于
- (+= ) 加等
a += 10 ------->a = a + 10 - ( -= ) 减等
- ( *= ) 乘等
- ( /= ) 除等
诸如其他类似的运算符,这里不赘述
二,逻辑运算符
主要有两种
1.用赋值运算符连接的关系
2.与 或 非
(1) and ------ 与 且 一假则假
(2) or --------- 或 一真则真
(3) not ------- 非 一般与in关键字连用
直接运行时返回结果是True或者False
三,选择结构
- 单分支结构
if 条件 :
#满足条件的语句(“#” 前是缩进)
if 条件 :
#满足条件的语句
- 双分支结构
if 条件 :
#满足条件的语句
else:
#满足条件的语句
- 多分支结构(最后一句可以是 'elif ',也可以是 'else ’ )
if 条件 :
#满足条件的语句
elif 条件 :
#满足条件的语句
elif 条件 :
#满足条件的语句
四,练习题
#第1题
set1 = "1\t3\t5\t7\n" \
"9\t11\t13\t15\n" \
"17\t19\t21\t23\n" \
"25\t27\t29\t31\n"
set2 = "2\t3\t6\t7\n" \
"10\t11\t14\t15\n" \
"18\t19\t22\t23\n" \
"26\t27\t30\t31\n"
set3 = "4\t5\t6\t7\n" \
"12\t13\t14\t15\n" \
"20\t21\t22\t23\n" \
"28\t29\t30\t31\n"
set4 = "8\t9\t10\t11\n" \
"12\t13\t14\t15\n" \
"24\t25\t26\t27\n" \
"28\t29\t30\t31\n"
set5 = "16\t17\t18\t19\n" \
"20\t21\t22\t23\n" \
"24\t25\t26\t27\n" \
"28\t29\t30\t31\n" #展现题目中方格内的数字
print(set1)
a = input("你的生日是否在set1中:")
if a == "t": #用布尔类型判断对错
a = 1
else : a = 0
print(set2)
b = input("你的生日是否在set2中:")
if b == "t":
b = 2
else : b = 0
print(set3)
c = input("你的生日是否在set3中:")
if c == "t":
c = 4
else : c = 0
print(set4)
d = input("你的生日是否在set4中:")
if d == "t":
d = 8
else : d = 0
print(set5)
e = input("你的生日是否在set5中:")
if e == "t":
e = 16
else : e = 0
birth = a + b + c + d + e
print("他的生日是" +str(birth))
#第2题
a,b = map(int,input("请输入体重(磅)a和身高(英寸)b:").split()) #引用多个函数时的用法
weight = a * 0.45359237 #带入题目中的算法
hight = b * 0.0254
BMI = weight / (hight)**2
if BMI < 18.5 :
print("他属于超轻")
elif 18.5 <= BMI < 25.0 :
print("他属于标准")
elif 25.0 <= BMI < 30.0 :
print("他属于超重")
elif 30.0 <= BMI :
print("他属于痴肥")
#第3题
year = int(input("请输入一个年份:")) #这是不用判断的做法
if year // 4 % 10 == 0 or year // 400 % 10 == 0:
print("该年份是闰年")
if year // 100 % 10 != 0:
print("该年份不是闰年")
#第4题(彩票)
import random #引用随机函数
num1 = int(input("请输入一个两位数字:"))
num2 = random.randrange(1,100,1) #产生1到100之间的一个随机数
a,b = num2 % 10,num2 //10
num3 = a + b * 10
print("本次开奖号码为:" +str(num2))
if num1 == num2:
print("\n奖金为10000美元")
elif num1 == num3:
print("\n奖金为3000美元")
elif num1 % 10 == a or num1 // 10 == b:
print("\n奖金为1000美元")
else:
print("\n很遗憾什么奖也没中")
#第5题
a,b,c = map(float,input("题目:求解ax**2+bx+c=0的平方根\n请输入a,b,c的值:").split())
r1 = (-b + (b**2 - 4*a*c)) / 2*a
r2 = (-b - (b**2 - 4*a*c)) / 2*a
if b**2 - 4*a*c > 0:
print("该方程的两个实根为%.2f和%.2f" %(r1,r2))
elif b**2 - 4*a*c == 0:
print("该方程的根为%f" %(r1))
elif b**2 - 4*a*c < 0:
print("该方程无实根")
#第6题
print("用克莱姆法则解下列方程")
a,b,c,d,e,f = map(float,input("请输入a,b,c,d,e,f的值:").split())
x = (e*d - b*f) / (a*d - b*c)
y = (a*f - e*c) / (a*d - b*c)
e = a*x + b*y
f = c*x + d*y
if a*d - b*c == 0:
print("The equation has no solution")
else:
print("x=%.2f,y=%.2f"%(x,y))
#第7题(找未来数据)
day = int(input("请输入今天是周几(数字表示):"))
nextday = int(input("请输入今天之后到未来某天的天数:"))
future = (nextday + day) % 7
print("未来这天是星期%s" %(future)) #这题同样没用判断
#第8题(比较价钱)
pay1,weight1 = map(float,input("请输入第一袋包装的重量和价钱:").split())
pay2,weight2 = map(float,input("请输入第二袋包装的重量和价钱:").split())
if pay1 > pay2:
print("第二袋价钱更好")
if pay1 < pay2:
print("第一袋价钱更好")
#第9题
num = int(input("请输入一个整数:"))
print("该数字能否被5和6整除?")
if num // 5 == 0 and num // 6 == 0:
print("不可以")
else:
print("可以")
print("该数字能否被5或6整除?")
if num // 5 == 0 or num // 6 == 0:
print("不可以")
else:
print("可以")
print("该数字能否被5和6中的其中一个整除(但是又不能被他们同时整除)?")
if num // 5 == 0 and num // 6 == 0:
print("可以")
else:
print("不可以")
#第10题
import random
num = int(input("石头剪刀布,0代表剪刀,1代表石头,2代表布。请输入0,1或2:"))
num1 = random.randrange(0,2)
print("电脑出:"+str(num1))
if num == num1:
print("平局")
elif num == 0 and num1 == 1:
print("你输了")
elif num == 0 and num1 == 2:
print("你赢了")
elif num == 1 and num1 == 0:
print("你赢了")
elif num == 1 and num1 == 2:
print("你输了")
elif num == 2 and num1 == 0:
print("你输了")
elif num == 2 and num1 == 1:
print("你赢了")
#第11题
num = int(input("0表示将美元转换为人民币,1表示将人民币转换为美元。请输入你的选项:"))
num1 = float(input("请输入金额:"))
exchange = float(input("汇率是:"))
if num == 0:
num1 = num1 * exchange
print("该金额转换成人名币为$%.2f" %num1)
elif num == 1:
num1 = num1 / exchange
print("该金额转换成美元为$%.2f" %num1)
#第12题
a,b,c = map(float,input("请输入三角形的三条边:").split())
if a+b>c and a+c>b and b+c>a:
a+b+c
print("这个三角形的周长是:",a+b+c)
else:
print("这个三角形不合法")
#第13题
year,mouth,day = map(int,input("请输入年份,月份以及这个月的某天:").split())
h = int((day+(26*(mouth+1)/10)+year%10+year%10/4+year/100+5*(year/100))%7)
if h == 0:
print("这天是星期六")
elif h == 1:
print("这天是星期天")
elif h == 2:
print("这天是星期一")
elif h == 3:
print("这天是星期二")
elif h == 4:
print("这天是星期三")
elif h == 5:
print("这天是星期四")
elif h == 6:
print("这天是星期五")
#第14题
x,y = map(float,input("判断一个点是否在圆心为(0,0)半径为10的圆内\n请输入一个点的坐标:").split())
print("这个点到(0,0)之间的距离小于或等于10,则该点在圆内")
d = ((x-0)**2+(y-0)**2)**0.5
print("该点与圆心的距离为%.2f" %d)
if d <= 10:
print("该点在圆内")
else:
print("该点不在圆内")
#第15题
print("判断一个点是否在以(0,0)为中心而宽为10高为5的矩形内\n若一个点到(0,0)的水平距离小于或等于10/2而(0,0)的垂直距离小于或等于5.0/2,则这个点在矩形内")
x,y = map(float,input("请输入一个点的坐标:").split())
if x<=10/2 and y<=5/2:
print("这个点在矩形内")
else:
print("这个点不在矩形内")
#第16题
num = int(input("请输入一个3位整数:"))
if num%10 == num//100:
print("这个数是一个回文数")
else:
print("这个数不是回文数")