python编程习题

判断语句

第一题:

分析:

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("两个圆不重叠")

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值