当前位置:   article > 正文

蓝桥杯—每日知识点学习(Python)_蓝桥杯python可以用math库嘛

蓝桥杯python可以用math库嘛

题目2 闰年判断

输入

输入一个年份

输出

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

代码

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

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

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')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

题目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')


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

注意: python中有两个跟数学有关的库, mathcmath

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

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

题目四 A+B

输入

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

输出

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

代码

a,b=map(int,input().split())
print(a+b)
  • 1
  • 2

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

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

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

但是每个函数的用法我还没有完全掌握,今天先来学习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

题目五 字符串比较

输入

分两行输入两个字符串

输出

如果两个字符串长度不相等则输出 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))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

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

>>> len('apple0 ')
7
>>>len("我爱python")
8
  • 1
  • 2
  • 3
  • 4

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

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

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/396393
推荐阅读
相关标签
  

闽ICP备14008679号