实验2 Python程序控制结构:分支结构

实验目的

  1. 掌握Python中各种if语句的用法
  2. 掌握Python中关系运算符和逻辑运算符的用法
  3. 掌握Python中语句缩进的用法
  4. 掌握random标准库的用法
  5. 能够编写简单的选择结构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))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值