笔记整理自B站UPWLB工作生活两不误的个人空间-WLB工作生活两不误个人主页-哔哩哔哩视频教程Python 程序设计题3_哔哩哔哩_bilibili
程序设计题3
Python代码
number = list(map(int, input().split()))
# 第一种:判断某个数字与+/-1的数字是否在列表中
for i in number:
if ((i - 1) in number) and ((i + 1) in number):
print('YES')
break
else: # 如果正常结束for循环会进入到else!!!
print('NO')
# 第二种:排序,判断是否连续
#排序
#使用集合对列表进行去重
new_number = sorted(list(set(number)))
for i in range(len(new_number) - 2):
if new_number[i] + 1 == new_number[i + 1] and new_number[i + 1] + 1 == new_number[i + 2]:
print('YES')
break
else:
print('NO')
输入样例
16 15 3 6 9 15 17 88
输出样例
YES
注意点
for...else这种语句的用法
如果正常结束for语句,则执行else里面的内容
for-else语句的执行顺序为:当for循环中的迭代对象执行结束并且迭代对象为空时,如果存在else语句则执行else语句内容。如果for循环被提前终止(比如带有break关键字),则此时的else语句不会被执行。使用for-else语句,无需添加flag标志。因此,for-else语句更为简洁。大家遇到类似的编程场景时,可以考虑使用for-else语句。——摘自其他博客