判断语句
第一题:
分析:
1、列表
2、通过”yes or no“做出判断
代码如下:
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"
day = 0
print(set1)
chose = input("你的生日在不在以上数字当中(yes/no):")
if chose == "yes":
day += 1
print(set2)
chose = input("你的生日在不在以上数字当中(yes/no):")
if chose == "yes":
day += 2
print(set3)
chose = input("你的生日在不在以上数字当中(yes/no):")
if chose == "yes":
day += 4
print(set4)
chose = input("你的生日在不在以上数字当中(yes/no):")
if chose == "yes":
day += 8
print(set5)
chose = input("你的生日在不在以上数字当中(yes/no):")
if chose == "yes":
day += 16
if day == 0 :
print("????")
else :
print("你的生日在%d号!"%day)
第二题:
分析:
下列代码是已经给出了身高以及体重
1、输入数据
2、公式计算
3、做出判断
代码如下:
height = 1.75
weight = 80.5
BMI = 80.5 / (height ** 2)
if BMI > 32:
print("严重肥胖")
elif 28 < BMI < 32:
print("肥胖")
elif 25 < BMI < 28:
print("过重")
elif 18.5 < BMI <25:
print("正常")
elif BMI < 18.5:
print("过轻")
第三题:
分析:
1、输入年份
2、根据题目进行判断
3、输出
代码如下:
years = int(input("请你输入你个年份:"))
a = years / 4 == 0 and years / 100 != 0
b = years / 400 == 0
if a or b:
print("该年份是闰年!")
else:
print("该年份是平年!")
第四题:
分析:
1、随机生成一个两位数<import random>,此处的random.randint(10,99)表示在10~99之间随机生成数字,而random.randint则是随机生成数的一个代码
2、讲随机生成的数字与玩家选择的数字进行比较,//10表示十位是什么,%10则表示取余,也就是个位是什么
3、随机生成与玩家选择的进行比较
4、判断出比较的结果
代码如下:
import random
number = random.randint(10,99)
choose = int(input("请你输入一个两位数的数字:"))
#取随机生成数的十位
numbera = number // 10
#取随机生成数的个位
numberb = number % 10
#取选择的数的十位
choosea = choose // 10
#取选择的数的个位
chooseb = choose % 10
#判断语句判断获奖情况
if numbera == choosea and numberb == chooseb:
print("恭喜你!获得10000元奖金!")
elif numbera == chooseb and numberb == choosea:
print("恭喜你!获得3000元奖金!")
elif numbera ==choosea or numbera ==chooseb or numberb == choosea or numberb ==chooseb:
print("恭喜你!获得1000元奖金!")
else :
print("很遗憾!你未获奖!")
第五题:
分析:
1、输入各值
2、公式计算
3、实根的判断
代码如下:
a , b , c = eval(input("请你分别输入a,b,c的值:"))
num = b ** 2 - 4 * a *c
#判别为正或者0
if num > 0:
x1 = (-b + num ** 0.5) / 2 * a
x2 = (-b - num ** 0.5) / 2 * a
print("两根分别为:%s,%s"%(x1,x2))
elif num == 0:
x = (-b - num ** 0.5) / 2 * a
print("x = %s"%(x))
else :
print("The equation has no real roots!")
第六题:
分析:
1、输入各值
2、判断ad - bc是否为0
3、输出
代码如下:
a , b , c , d , e , f = eval(input("请你分别输入a,b,c,d,e,f的值:"))
#计算ad-bc是否为0
if a * d - b * c == 0:
print("The equation has no solution")
else:
x = (e * d + b * f) / (a * d - b * c)
y = (a * f - e * c) / (a * d - b * c)
print("x的值为:%s y的值为:%s"%(x,y))
第七题:
分析:
1、输入今天为周几以及经过多少天
2、通过求余的方式表示未来为周几
3、判断余数后再输出结果
代码如下:
now = eval(input("请输入今天为周几,表示方式为1,2,3,4,5,6,7:"))
futer = eval(input("请你输入需要经过多少天:"))
#取余数判断
if (now + futer) % 7 == 1:
print("未来这天是周一!")
elif (now + futer) % 7 == 2:
print("未来这天是周二!")
elif (now + futer) % 7 == 3:
print("未来这天是周三!")
elif (now + futer) % 7 == 4:
print("未来这天是周四!")
elif (now + futer) % 7 == 5:
print("未来这天是周五!")
elif (now + futer) % 7 == 6:
print("未来这天是周六!")
elif (now + futer) % 7 == 0:
print("未来这天是周日!")
第八题:
分析:
1、先输入两种分别的重量以及价格
2、通过判断,相同质量或者相同价格的不同情况
3、输出
代码如下:
a,b = eval(input("请你输入第一种包装的重量a和价格b:"))
c,d = eval(input("请你输入第二种包装的重量c和价格d:"))
#公式比较
e = b % a
f = d % c
if e < f:
print("第一种包装更好!")
elif e > f:
print("第二种包装更好!")
elif e == f:
print("两种包装一样好!")
第九题:
分析:
1、输入整数
2、判断情况,根据题目分为不同的情况
3、输出结果
代码如下:
number = int(input("请你输入一个整数:"))
#分情况讨论
if number % 5 == 0 and number % 6 == 0:
print("该整数能同时被5和6整除")
elif number % 5 == 0 and number % 6 != 0:
print("该整数只能被5整除")
elif number % 5 != 0 and number % 6 == 0:
print("该整数只能被6整除")
elif number % 5 != 0 and number % 6 != 0:
print("该整数既不能被6整除,也不能被5整除")
第十题:
分析:
1、此处也要用到随机生成,可以与前面的抽奖一个道理,用到 import random 以及 random.randint(0,2)来表示电脑随机生成
2、玩家输入
3、先做出玩家以及电脑的判断,方便后边的输出结果的显示 com_str play_str
4、最后进行玩家与电脑的比较判断,使用两值相减法判断谁赢谁输
注:如果此处使用加法,则无法判断两个值谁大谁小
5、输出结果
代码如下:
import random
computer = random.randint(0 , 2)
player = int(input("请你输入你的选择为剪刀0还是石头1或者布2:"))
#输出时显示电脑出的结果
if computer == 0:
com_str = "剪刀"
elif computer == 1:
com_str = "石头"
elif computer == 2:
com_str = "布"
#输出时显示玩家出的结果
if player == 0:
play_str = "剪刀"
elif player == 1:
play_str = "石头"
elif player == 2:
play_str= "布"
#输出结果,不用加法是因为加法无法判断谁大谁小
if computer == player:
print("电脑出的是:%s 玩家出的是:%s 玩家和电脑平局!"%(com_str , play_str))
elif computer - player == -1 or computer - player == 1 or computer + player - computer == 2:
print("电脑出的是:%s 玩家出的是:%s 玩家胜利!"%(com_str,play_str))
elif computer - player == 2 or computer - player == -2 or computer + player - computer == 1:
print("电脑出的是:%s 玩家出的是:%s 电脑胜利!"%(com_str,play_str))
第十一题:
分析:
1、汇率的输入,以及选择转换方式
2、做出判断,判断选择的方式
3、输出
代码如下:
currency = eval(input("请你输入汇率:"))
choose = eval(input("输入0是美元转换为人民币,输入1是人民币转换为美元:"))
number = eval(input("请你输入需要转换的金钱数目:"))
if choose == 0:
renminbi = number % currency
print("%s美元转换后为%s人民币"%(number,renminbi))
elif choose == 1:
dollar = number * currency
print("%s人民币转换后为%s美元"%(number,dollar))
else:
print("请正确选择!")
第十二题:
分析:
1、输入边长
2、判断是否能构成三角形,再进行计算
3、输出结果
代码如下:
a , c , b = eval(input("请你分别输入三角形的三条边长:"))
#周长公式
s = a + b + c
#做出判断
if a + b > c and a + c > b and b + c > a:
print("该三角形的周长为%s"%(s))
elif a + b < c or a + c < b or b + c < a:
print("该三条边不能构成三角形!")
第十三题:
分析:
1、输入年份、月份、以及某一天
2、满足最下边的条件(1月 和 2月 以 13 和 14 来进行计算 )
3、分别满足各个条件
4、通过余数进行判断
5、输出
代码如下:
year = eval(input("请你输入一个年份(e.g.,2008):"))
month = eval(input("请你输入一个月份:"))
q = eval(input("请你输入这个月份里的某一天:"))
#满足最下边的条件
if month == 1 or month == 2:
m = month + 12
year = year - 1
#各个公式的表达
j = year // 100
k = year % 100
h = (q + ((26 * (m + 1)) // 10) + k + (k // 4) + (j // 4) + 5 * j) % 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("这天是周五!")
第十四题:
分析:
1、输入一个点
2、计算所输入的点到圆心(0,0)的距离
3、通过判断距离是否大于10
4、输出结果
代码如下:
x , y = eval(input("请你输入一个点(x,y):"))
x1 = 0
y1 = 0
#公式计算点到圆心的距离
r = ((x1 - x) ** 2 + (y1 - y) ** 2) ** 0.5
#距离比较做出判断
if r < 10:
print("点(%s,%s)在圆心为(0,0)半径为10的圆内:"%(x,y))
elif r > 10:
print("点(%s,%s)不在圆心为(0,0)半径为10的圆内:"%(x,y))
第十五题:
分析:
1、输入点(x,y)
2、通过题目中所给的条件分别对所输入点的 X轴 以及 Y轴 进行判断
3、输出结果
代码如下:
x , y = eval(input("请你输入一个点(x,y):"))
#做出判断 10 // 2 5 // 2
if x >= -5 and x <= 5 and y <= 2.5 and y >= -2.5:
print("点(%s,%s)在宽为10高为5的矩形内"%(x,y))
else:
print("点(%s,%s)不在宽为10高为5的矩形内"%(x,y))
第十六题:
分析:
1、回文数的判断,三位数的回文数其百位以及个位相等
2、输入一个三位数
3、对三位数进行判断,百位和个位是否相等
4、输出结果
代码如下:
#回文数的观察,只需要百位和个位相同则为回文数
#只需整除100取百位以及除10取余数即可判断
x = int(input("请你输入一个三位整数:"))
a = x % 10
b = x // 100
#做出判断
if a == b:
print("%s是一个回文数"%(x))
else:
print("%s不是一个回文数"%(x))
第十七题:
分析:
1、输入一个点
2、对输入点的 X轴 以及 Y轴进行判断是否超出三角形
3、斜率的判断,相等则在内
4、输出结果
代码如下:
x , y = eval(input("请你输入一个点(x,y):"))
#先判断x轴与y轴
#再判断斜率即可
k = y / (200 - x)
if x >= 0 and x <= 200 and y >= 0 and y <= 100 and k <= 100 / 200:
print("点(%s,%s)在三角形内"%(x,y))
else:
print("点(%s,%s)不在三角形内"%(x,y))
第十八题:
分析:
1、分别输入两个圆的圆心以及半径
2、对两圆心的距离进行计算
3、判断两半径差值或者和与两圆心距离的大小
4、输出结果
代码如下:
x1 , y1 , r1 = eval(input("请你输入第一个圆的圆心和半径:"))
x2 , y2 , r2 = eval(input("请你输入第二个圆的圆心和半径:"))
#计算距离
h = ((x2 - x1) ** 2 + (y2 - y1) ** 2) ** 0.5
#判断
if h <= (r1 - r2):
print("第二个圆在第一个圆内")
elif h <= r1 + r2:
print("第一个圆和第二个圆重叠")
else:
print("两个圆不重叠")