实验目的
- 掌握Python中各种if语句的用法
- 掌握Python中关系运算符和逻辑运算符的用法
- 掌握Python中语句缩进的用法
- 掌握random标准库的用法
- 能够编写简单的选择结构Python程序
实验内容
1. 对三个整数排序
编写一个程序,提示用户输入三个整数,然后以升序显示它们。
[运行示例]
输入三个整数:4 1 2 [按下回车]
1 2 4
# print('请输入三个整数:')
str = input("请输入三个整数:").split()
a, b, c = int(str[0]), int(str[1]), int(str[2])
if a > b:
a,b=b,a
if a > c:
a,c=c,a
if b > c:
b,c = c,b
print(a, b, c)
2. 找出一个月中的天数
编写一个程序,提示用户输入月和年,然后显示这个月的天数。
[提示]
例如:如果用户输入月份2,而年份为2000,则程序显示2000年二月份有29天。
[运行示例]
请输入月和年: 3, 2005 [按下回车]
2005年三月份有31天
strdate = input("请输入月和年:").split()
year, month = int(strdate[1]), int(strdate[0])
flag = True
day = 0
if month == 1 or month == 3 or month == 5 or month == 7 or month == 8 or month == 10 or month == 12:
day = 31
elif month == 4 or month == 6 or month == 9 or month == 11:
day = 30
elif month == 2:
if year % 400 == 0 or (year % 4 == 0 and year % 100 != 0):
day = 29
else:
day = 28
else:
flag = False
print("请检查输入的月份")
if flag:
print("{}年{}月份有{}天".format(year, month, day))
3. 计算三角形的周长
编写一个程序,读取三角形的三个边,如果输入都是合法的则计算它的周长。否则,显示这个输入是违法的。
[提示]
如果两边之和大于第三边都是合法的。
[运行示例]
输入三条边:1, 1, 1 [按下回车]
该三角形的周长是3
str_input = input("输入三条边: ")
div_input = str_input.split()
# 从小到大排序
newInput = sorted(div_input)
a, b, c = int(div_input[0]), int(div_input[1]), int(div_input[2])
# print(a, b, c)
# 判断输入是否合法
if a+b > c:
print("该三角形的周长是{}".format(a+b+c))
else:
print("该三角形不合法")
4. 几何问题:点在圆内吗?
编写一个程序,提示用户输入一个点 (x,y),然后检测这个点是否在圆心为 (0,0) 半径为10的圆内。例如点 (4,5) 在圆内,而 (9,9) 在圆外,如图a所示。
[提示]
如果一个点到 (0,0) 之间的距离小于或等于10,那它就在圆内。计算距离的公式是(x2-x1)2+(y2-y1)2 。测试你的程序考虑所有的情况。
[运行示例1]
请输入一个点的两个坐标:4, 5 [按下回车]
点(4.0, 5.0)在圆内
[运行示例2]
请输入一个点的两个坐标:9, 9 [按下回车]
点(9.0, 9.0)不在圆内
# 编写一个程序,提示用户输入一个点 (x,y),然后检测这个点是否在圆心为 (0,0) 半径为10的圆内。例如点 (4,5) 在圆内,而 (9,9) 在圆外
x, y = map(float, input("请输入一个点的两个坐标:").split())
if ((x - 0) ** 2 + (y - 0) ** 2) ** 0.5 <= 10:
print("点({:.1f},{:.1f})在圆内".format(x, y))
else:
print("点({:.1f},{:.1f})不在圆内".format(x, y))
5. 回文数
编写程序提示用户输入一个三位数,然后决定它是否是一个回文数。如果一个数从左向右和从右向左读是一样的,那么这个数就是回文数。
[运行示例1]
请输入一个三位数:121 [按下回车]
121 是一个回文数
[运行示例2]
请输入一个三位数:123 [按下回车]
123 不是一个回文数
# 编写程序提示用户输入一个三位数,然后决定它是否是一个回文数。如果一个数从左向右和从右向左读是一样的,那么这个数就是回文数。
num = int(input("请输入一个三位数:"))
x = num
new_num = 0
for i in range(3):
new_num = new_num * 10 + x % 10
x = int(x/10)
if num == new_num:
print("{}是一个回文数".format(num))
else:
print("{}不是一个回文数".format(num))