栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

蓝桥杯—每日知识点学习(Python)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

蓝桥杯—每日知识点学习(Python)

文章目录
  • 题目2 闰年判断
    • 输入
    • 输出
    • 代码
  • 题目3 水仙花数
    • 输入
    • 输出
    • 代码
  • 题目四 A+B
    • 输入
    • 输出
    • 代码
  • 题目五 字符串比较
    • 输入
    • 输出
    • 代码

题目2 闰年判断 输入

输入一个年份

输出

判断是否为闰年,如果是闰年输出yes,否则输出no

代码

两种方法
1.能够被4整除但是不能被100整除的就是闰年。

year = int(input("请输入年份:"))
if year % 4 = 0 & year % 100 != 0
	print("yes")
else#这个地方一定要注意缩进 如果和print对其是错的!
	print('no')#在python中单、双引号是一样的

2.判断3月1日前一天是不是29号,这个方法需要导入datetime库来获取时间。
注意: 蓝桥杯不支持第三方库,只能使用python标准库。一些python常用的标准库有:time、datetime、math 、random、pip等

判断是否是标准库的最简单的方法是直接import你没有下载过的库,成功就表示是python自带的库。

import datetime
year = int(input())
time=datetime.timedelta(days=1)#存储时间的变化量,这里等于1
dt=datetime.date(year=year,month=3,day=1)#设置时间是该年3月1日
res = dt-time#3月1日前一天
if res.day==29:
    print('yes')
else:
    print('no')
题目3 水仙花数 输入

输入一个三位数,若每一位的立方相加后等于该数,则称这个数为水仙花数

输出

如果该数是水仙花数则输出yes,否则输出no

代码
import math#涉及到计算的函数需要导入math库
num = int(input("请输入一个三位数:"))
b = num//100#取百位
g = num%10#取个位
s = num//10%10#取十位

if ((b*b*b)+(g*g*g)+(s*s*s)) == num:#还可以使用pow(b,3)意思是b的3次方
    print('yes')
else:
    print('no')


注意: python中有两个跟数学有关的库, math 和 cmath

二者的函数运算是差不多的,区别在于:
math 模块提供了许多对浮点数的数学运算函数。

cmath 模块包含了一些用于复数运算的函数。

题目四 A+B 输入

要求输入的两个整数在一行内完成

输出

计算A+B的结果并输出结果

代码
a,b=map(int,input().split())
print(a+b)

首先、除了print(),python还提供了如下的内置函数,可以直接通过 . 调用


注意: 不要使用内置函数的名字作为标识符使用(例如变量名、函数名、类名、模板名、对象名等),虽然这样做 Python 解释器不会报错,但这会导致同名的内置函数被覆盖,从而无法使用。

>>> print = "http://c.biancheng.net/python/"  #将print作为变量名
>>> print("Hello World!")  #print函数被覆盖,失效
Traceback (most recent call last):
  File "", line 1, in 
    print("Hello World!")
TypeError: 'str' object is not callable

但是每个函数的用法我还没有完全掌握,今天先来学习map函数用法

map(function,iterable,…)

第一个参数是函数,第二个参数是序列(可以是1个或多个)
将对序列中的每个数执行function的操作;
返回包含每次 function 函数返回值的新列表;

要实现把一个序列分割就要用到split函数

split(“分隔符”,分割次数)

默认分隔符空字符,包括空格、换行(n)、制表符(t)
num默认值为-1,全部分割

>>> x='10 03'#必须加单引号才是str类型,不然会被认为int
>>> print(x.split('1'))#分隔符是字符1,全部分割
['', '0 03']#分隔符没有被输出
题目五 字符串比较 输入

分两行输入两个字符串

输出

如果两个字符串长度不相等则输出 1
如果两个字符串长度相等且完全一样 则输出 2
如果两个字符串长度相等但是在忽略大小写以后一样则输出 3
如果两个字符串长度相等但是否忽略大小写内容都不同 则输出 4

代码
def compare(str1,str2):#函数
    if len(str1) !=len(str2):
        return 1
    else:
        if str1==str2:
            return 2
        elif str1.lower()!=str2.lower():
            return 3
        return 4

if __name__=='__main__':#main函数
    str1=input()
    str2=input()
    print(compare(str1,str2))

该问题涉及到对字符串的处理方法首先学习len函数用法
len()可以统计字符串的长度,例如

>>> len('apple0 ')
7
>>>len("我爱python")
8

可以看出不论汉字还是字母数字或者空格所占的长度是一样的(都是1),但是他们所用的字节数是不同的,如果想要获取他们所占的字节数,就要对字符串编码。
编码时可以采取不同的方法,例如

>>> str='我爱python'
>>> len(str.encode())#采用UTF-8编码方式
12
>>> len(str.encode('gbk'))#采用gbk编码方式
10

可以看出,不同的编码方式得出的同一字符串所占的字节数也是不同的。

字符串的转换 包括只有首字母大写,全部大写和全部小写三种函数
具体的用法可以看
链接:http://c.biancheng.net/view/2179.html

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1001362.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号