Python刷题之内置函数(上)

229 阅读5分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第20天


  • NP76 列表的最值运算

描述

牛牛给了牛妹一个一串无规则的数字,牛妹将其转换成列表后,使用max和min函数快速的找到了这些数字的最值,你能用Python代码实现一下吗?

输入描述:

输入一行多个整数,数字之间以空格间隔。

输出描述:

示例1

image.png

参考代码如下:

#num = list(map(int,input().split()))   #  将输入值分列转成list格式
num = [int(i) for i in input().split()]  # 使用for循环依次取出input()的值组成list列表
print(max(num))
print(min(num))
  • NP77 朋友的年龄和

描述

牛牛想知道自己小组内的同事们的年龄和都有多少,他输入一串年龄序列,请将其转换成列表,并使用sum函数直接获取列表的和。

输入描述:

一行输入多个正整数,以空格间隔。

输出描述:

输出求和。

示例1

image.png

参考代码如下,思想跟同上一条

#age = list(map(int,input().split()))
age = [int(i) for i in input().split()]
print(sum(age))

这题的知识点是L;sum()求和函数; sum(字段名) 字段名可以是list格式

  • NP78 正数输出器

描述

牛牛想要这样一个程序,只要是输入一个整数,不管正负,它一定转换为正数,即获取该数字的绝对值,你能用abs函数实现吗?

输入描述:

输入一个非零整数。

输出描述:

输出该数字的绝对值。

示例1

image.png

参考代码如下: 这题考察点是abs()求绝对值的函数

num = int(input())
print(abs(num))
  • NP79 字母转数字

描述

牛牛刚学习了ASCII码,他知道计算机中的字母很多用的都是这个编码方式,现在输入一个字母,你能使用ord函数将其转换为ASCII码对应的数字吗?

输入描述:

输入一个字符,仅包含大小写字母。

输出描述:

输出该字母在ASCII中对应的数字。

示例1

image.png

参考代码如下:

n = input()
print(ord(n))

注意点:
Python中没有字符类型,即没有char类型,一个字符也是字符串。
ord()函数是可以将字符串类型转换成ASCII码对应的数字

  • NP80 数字的十六进制

描述

牛妹刚学习进制转换,对这方面掌控还不太熟练,她想请你帮她写一个十进制到十六进制的进制转换器,你能使用hex函数帮助她完成这个任务吗?

输入描述:

输入一个正整数。

输出描述:

输出该正整数的十六进制。

示例1

image.png

参考代码如下: 【考察hex()转换成十六进制数的用法】

num = int(input())
print(hex(num))
  • NP81 数字的二进制表示

描述

计算机内部都由二进制组成,但是早就习惯使用十进制的牛牛根本不知道这个数字的二进制是什么,你能使用bin函数帮助他将十进制数字转换成二进制吗?

输入描述:

输入一个十进制正整数。

输出描述:

输出该数字的二进制形式。

示例1

image.png

参考代码如下:

num = int(input())
print(bin(num))
  • NP82 数学幂运算

描述

在Python中,除了使用两个乘号相连外,还能使用pow函数表示幂运算。

现牛牛输入正整数x与y,请你使用两种方法分别计算xy与yx。

输入描述:

一行输入两个正整数,以空格间隔。

输出描述:

分别两行输出计算xy与yx

示例1

image.png

参考代码如下:

#x,y = input().split()
x,y = map(int,input().split())
#x = int(x)
#y = int(y)
print(pow(x,y))
print(pow(y,x))

知识点:pow()函数,也是用来求幂函数的,其中pow(x,y)指的是以x为底,y为幂的函数

  • NP83 错误出现的次数

描述

在牛客网内部使用1标记正确回答的题,使用0表示回答错误的题。牛牛拿到自己的作答记录是一串01序列,他想知道自己一共答错了多少次,你能将这串序列转换为列表,使用count函数帮助牛牛统计一下吗?

输入描述:

输入一行数组序列,数字只包含0和1,以空格间隔。

输出描述:

输出0出现的次数。

示例1

image.png

参考代码如下:使用count()函数,进行计数应该更简便

list_1 = list(map(int,input().split()))
print(list_1.count(0))
#j = 0
#for i in list_1:
#    if i == 0:
#        j = j+1
#print(j)
  • NP84 列表中第一次出现的位置

描述

牛客网有一个打卡系统,记录了每个人这一个星期上班打卡的记录(以名字的形式)。牛牛想知道自己在这一个星期是第几个打卡的人,你用将这份名字记录转换为列表,然后使用index函数找到'NiuNiu'的位置吗?

输入描述:

输入一行字符串表示打卡人的姓名,以空格间隔,字符串中必定有'NiuNiu'。

输出描述:

输出'NiuNiu'第一次打卡是第几个,从0开始计数。

示例1

image.png

参考代码如下:
这题主要考察的是index()函数的用法:

list_1 = input().split()
print(list_1.index("NiuNiu"))  

index要查找的值需要出现在列表中吗,否则会报错

image.png

  • NP85 字符的类型比较

描述

Python有内置函数isalpha、isdigit、isspace可以分别判断字符串是否只包含字母、数字、空格,现在输入一个字符串,请分别输出这三个函数的判断结果。

输入描述:

输入一个字符串。

输出描述:

分三行依次输出上述三个函数的判断结果。

示例1

image.png

参考代码如下:

name  = input()
print(name.isalpha(),name.isdigit(),name.isspace(),sep='\n')

知识点:

  • isalpha可以分别判断字符串是否只包含字母

  • isdigit可以分别判断字符串是否只包含数字

  • isspace可以分别判断字符串是否只包含字母空格