python相关练习题与代码(2)

1.使用循环列表去除列表中的重复值

li = [1, 2, 3, 4, 5, 6, 1, 2, 3, 4]
empty_li = []
for i in li:
    if i in empty_li:
        continue
    empty_li.append(i)
print(empty_li)
#输出结果:[1, 2, 3, 4, 5, 6]

通过检查元素是否已经在 empty_li 中来有效地去除了重复值。这里是在检查元素是否已经在 empty_li 中,而不是在一个集合中,这意味着对于较大的列表,这种方法的效率可能不如使用集合高。我们也可以使用集合来更高效地完成这项任务,
如下:

li = [1, 2, 3, 4, 5, 6, 1, 2, 3, 4]  
unique_set = set(li)    
unique_li = list(unique_set)  
print(unique_li)
# 输出结果 [1, 2, 3, 4, 5, 6],但顺序可能不同 

2.输出三个整数x,y,z,把这三个数由大到小输出

x = int(input("请输入整数x: "))
y = int(input("请输入整数y: "))
z = int(input("请输入整数z: "))
m = [x, y, z]
m.sort()
print(m)
print(m[0], m[1], m[2])
#输出结果:
#请输入整数x: 10
#请输入整数y: 5
#请输入整数z: 8
#[5, 8, 10]
#5 8 10

这段代码会首先要求用户输入三个整数(分别对应x、y、z),然后将它们存储在一个列表m中。之后,使用sort()方法对列表进行原地排序(即不创建新列表,直接在原列表上进行排序)。最后,代码会打印出排序后的列表以及分别打印出列表中的三个元素。

3.输出某年某月某日,判断这一天是这一年的第几天。

from datetime import datetime
try:
    year = int(input("请输入年份:"))
    month = int(input("请输入月份:"))
    day = int(input("请输入日期:"))
    # 创建datetime对象
    strs = datetime(year, month, day)
    # 使用timetuple()方法将datetime对象转换为struct_time对象,然后使用tm_yday属性获取该日是年中的第几天
    n = strs.timetuple().tm_yday
    print(f"{year}{month}{day}日是这一年的第{n}天")
except ValueError as e:
    print(f"输入的日期不合法:{e}")
#输出结果:
#请输入年份:2024
#请输入月份:7
#请输入日期:18
#2024年7月18日是这一年的第200天

正确地处理了用户输入,并能够在用户输入非法的日期时给出清晰的错误提示,比如在我们输入的日期不合法(比如2月30日或4月31日)等,程序会捕获到 ValueError 并打印一个错误消息。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值