无权限

Derrick博客站

【牛客刷题 】Python语言学习

01 输入输出

NP1 Hello World!

将字符串 'Hello World!' 存储到变量str中,再使用print语句将其打印出来。

str="Hello World!"
print(str)1354

NP2 多行输出

将字符串 'Hello World!' 存储到变量str1中,再将字符串 'Hello Nowcoder!' 存储到变量str2中,再使用print语句将其打印出来(一行一个变量)。

str1="Hello World!"
str2="Hello Nowcoder!"
print(str1)
print(str2)

NP3 读入字符串

小白正在学习Python,从变量输出开始。请使用input函数读入一个字符串,然后将其输出。

str = input()
print(str)

NP4 读入整数数字

在学会读入字符串以后,小白还想要读入整数,请你帮他使用input函数读入数字并输出数字与变量类型。

num = int(input())
print(num)
print(type(num))

NP5 格式化输出(一)

牛牛、牛妹和牛可乐正在Nowcoder学习Python语言,现在给定他们三个当中的某一个名字name,假设输入的name为Niuniu,则输出 I am Niuniu and I am studying Python in Nowcoder!
请按以上句式输出相应的英文句子。

name = input()
print(f"I am {name} and I am studying Python in Nowcoder!")

NP6 牛牛的小数输出

牛牛正在学习Python的输出,他想要使用print函数控制小数的位数,你能帮助它把所有读入的数据都保留两位小数输出吗?

num = float(input())
print("%.2f"%num)

 

02 类型转换

NP7 小数化整数

日常生活中我们会遇到很多小数,但是有的人不喜欢小数,因此会用四舍五入的方式将其去掉。在Python中我们更加简单,可以利用强制类型转换将小数转变成整数,请你试一试。

num = float(input())
print(f"{int(num)}")

 

NP8 为整数增加小数点

虽说很多人讨厌小数点,但是有时候小数点是必不可少的一项,请你使用强制类型转换为输入的整数增加小数点,并输出改变类型后的变量类型。

num = int(input())
new = float(num)
print(new)
print(type(new))

 

🔺NP9 十六进制数字的大小

计算的世界,除了二进制与十进制,使用最多的就是十六进制了,现在使用input读入一个十六进制的数字,输出它的十进制数字是多少?

num = input()
a = int(num,16)
print(a)

 

04 列表

NP16 发送offer

某公司在面试结束后,创建了一个依次包含字符串 'Allen' 和 'Tom' 的列表offer_list,作为通过面试的名单。
请你依次对列表中的名字发送类似 'Allen, you have passed our interview and will soon become a member of our company.' 的句子。
但由于Tom有了其他的选择,没有确认这个offer,HR选择了正好能够确认这个offer的Andy,所以请把列表offer_list中 'Tom' 的名字换成 'Andy' ,
再依次发送类似 'Andy, welcome to join us!' 的句子。

offer_list = ["Allen","Tom"]
for i in offer_list:
    print(f"{i}, you have passed our interview and will soon become a member of our company.")
offer_list[offer_list.index("Tom")]="Andy"
for j in offer_list:
    print(f"{j}, welcome to join us!")

NP17 生成列表

一串连续的数据用什么记录最合适,牛牛认为在Python中非列表(list)莫属了。现输入牛牛朋友们的名字,请使用list函数与split函数将它们封装成列表,再整个输出列表。

str = input()
print(str.split(" "))

NP18 生成数字列表

牛牛在牛客网系统录入了一连串数字,你能帮助他将这些数字存储在列表中吗,列表元素以int的形式。

  • 示例

    输入:1 2 3 4 5
    输出:[1, 2, 3, 4, 5]

  • 代码

    str = input()
    new_str = str.split(" ")
    for i in range(len(new_str)):
        new_str[i] = int(new_str[i])
        i+=1
    print(new_str)

NP19 列表的长度

牛牛学会了使用list函数与split函数将输入的连续字符串封装成列表,你能够帮他使用len函数统计一共输入了多少字符串,列表中有多少元素吗?

  • 示例

    输入:NiuNiu NiuMei NiuNeng
    输出:3

  • 代码

    str = input()
    new_str = str.split(" ")
    print(len(new_str))

NP20 增加派对名单(一)

为庆祝驼瑞驰在牛爱网找到合适的对象,驼瑞驰通过输入的多个连续字符串创建了一个列表作为派对邀请名单,在检查的时候发现少了他最好的朋友“Allen”的名字,你能使用append函数将这个名字加到列表末尾吗?添加完成请输出完整列表。

  • 示例

    输入:Niuniu Niumei Lucy Niuneng
    输出:['Niuniu', 'Niumei', 'Lucy', 'Niuneng', 'Allen']

  • 代码

    str = input()
    list = str.split(" ")
    list.append("Allen")
    print(list)

NP21 增加派对名单(二)

为庆祝驼瑞驰在牛爱网找到合适的对象,驼瑞驰通过输入的多个连续字符串创建了一个列表作为派对邀请名单,在检查的时候发现少了他最好的朋友“Allen”的名字,因为是最好的朋友,他想让这个名字出现在邀请列表的最前面,你能用insert函数帮他实现吗?请输出插入后的完整列表。

  • 示例

    输入:Niuniu Niumei Lucy
    输出:['Allen', 'Niuniu', 'Niumei', 'Lucy']

  • 代码

    str = input()
    list = str.split(" ")
    list.insert(0,"Allen")
    print(list)

NP22 删除简历

牛牛在各大互联网公司投入了简历,公司的名字通过字符串的形式在一行中输入,请用列表记录。现在牛牛已经确定了第一所公司的HR表露了不录用他的态度,请你使用del函数帮助牛牛从列表中删除第一个元素,然后输出列表。

  • 示例

    输入:Baidu Meituan Nowcoder Huawei apple
    输出:['Meituan', 'Nowcoder', 'Huawei', 'apple']

  • 代码

    str = input()
    list = str.split(" ")
    del list[0]
    print(list)

NP23 删除好友

  • 示例

    输入:NiuNiu Niukele NiuNeng	
    	   NiuNiu
    输出:['Niukele', 'NiuNeng']

  • 代码

    str = input()
    list = str.split(" ")
    str2 = input()
    list.remove(str2)
    print(list)

NP24 淘汰排名最后的学生

某实验班实行末位淘汰制,期中考试需要淘汰末三位同学。现输入一行多个字符串表示按分数排名的该班级同学的名字(数量一定不少于三个),请你使用list将其封装为列表,然后使用三次pop函数,去掉末三位同学的名字,最后输出淘汰后的班级名字列表。

  • 示例

    输入:NiuNiu Tom Tony Lucy
    输出:['NiuNiu']

  • 代码

    str = input()
    list = str.split(" ")
    for i in range(3):
        list.pop(-1)
    print(list)

NP25 有序的列表

创建一个依次包含字符串'P'、'y'、't'、'h'、'o'和'n'的列表my_list,先使用sorted函数对列表my_list进行临时排序,第一行输出排序后的完整列表,第二行输出原始的列表。再使用sort函数对列表my_list进行降序排序,第三行输出排序后完整的列表。

my_list = ["P","y","t","h","o","n"]
print(sorted(my_list))
print(my_list)
my_list.sort(reverse=True)
print(my_list)

NP26 牛牛的反转列表

牛牛有一个列表记录了各个朋友的喜欢的数字,num = [3, 5, 9, 0, 1, 9, 0, 3],请你帮他创建列表,然后使用reverse函数将列表反转输出。。。

num = [3, 5, 9, 0, 1, 9, 0, 3]
num.reverse()
print(num)

NP27 朋友们的喜好

牛牛有一个name = ['Niumei', 'YOLO', 'Niu Ke Le', 'Mona'] 记录了他最好的朋友们的名字,请创建一个二维列表friends,使用append函数将name添加到friends的第一行。
假如Niumei最喜欢吃pizza,最喜欢数字3,YOLO最喜欢吃fish, 最喜欢数字6,Niu Ke Le最喜欢吃potato,最喜欢数字0,Mona最喜欢吃beef,最喜欢数字3。
请再次创建一个列表food依次记录朋友们最喜欢吃的食物,并将创建好的列表使用append函数添加到friends的第二行;
然后再创建一个列表number依次记录朋友们最喜欢的数字,并将创建好的列表使用append函数添加到friends的第三行。
这样friends就是一个二维list,使用print函数直接打印这个二维list。

name = ['Niumei', 'YOLO', 'Niu Ke Le', 'Mona'] 
friends = []
friends.append(name)
food = ['pizza', 'fish', 'potato', 'beef']
number = [3, 6, 0, 3]
friends.append(food)
friends.append(number)
print(friends)

 

NP28 密码游戏

  • 示例

    输入:
    输出:

  • 代码

 

NP29 用列表实现栈

  • 示例

    输入:
    输出:

  • 代码

 

NP30 用列表实现队列

  • 示例

    输入:
    输出:

  • 代码

 

NP31 团队分组

  • 示例

    输入:
    输出:

  • 代码

 

06 条件语句

NP43 判断布尔值

Python的条件语句依靠将运算结果转变成布尔值后进行判断,然后分支,如果我们直接判断布尔值会怎么样呢?输入布尔变量,使用条件语句判断,如果为真则输出"Hello World!",否则输出"Erros!"。

flag = int(input())
if flag:
    print("Hello World!")
else:
    print("Erros!")

NP44 判断列表是否为空

创建一个空列表my_list,如果列表为空,请使用print()语句一行输出字符串'my_list is empty!',
否则使用print()语句一行输出字符串'my_list is not empty!'。

my_list = []
len = len(my_list)
if len == 0:
    print("my_list is empty!")
else:
    print("my_list is not empty!")

NP46 菜品的价格

牛客食堂今天准备了很多丰盛的午餐, 'pizza':10块钱一份,'rice' :2块钱一份,'yogurt':5块钱一份,剩下的其他菜品都是8块钱一份。牛牛在某窗口点餐,请你根据他输入的字符串,使用if-elif-else语句判断牛牛需要花费多少钱?

str = input()
if str=="pizza":
    print(10)
elif str == "rice":
    print(2)
elif str =="yogurt":
    print(5)
else:
    print(8)

NP47 牛牛的绩点

牛牛在门头沟大学学习,一学年过去了,需要根据他的成绩计算他的平均绩点,假如绩点与等级的对应关系如下表所示。请根据输入的等级和学分数,计算牛牛的均绩(每门课学分乘上单门课绩点,求和后对学分求均值)。

A4.0
B3.0
C2.0
D1.0
F0
flag=True
sum_credit = 0
sum = 0
while True:
    grade = input()
    if grade == "False":
        break
    credit = int(input())

    if grade == "A":
        score=4.0
    elif grade == "B":
        score = 3.0
    elif grade == "C":
        score = 2.0
    elif grade =="D":
        score = 1.0
    else:
        score =0
    sum_credit = sum_credit + credit
    sum = sum + score * credit

print("%.2f"%(sum/sum_credit))

NP48 验证登录名与密码

牛客网的登录系统需要验证用户名与密码,当二者都正确时才允许登录,其中管理员的用户名为'admis',密码为'Nowcoder666'。请你使用if-else语句,根据输入的用户名ID和密码,判断该用户等否登录。

account = input()
password = input()

if account == "admins" and password == "Nowcoder666":
    print("Welcome!")
else:
    print("user id or password is not correct!")

 

07 循环语句

NP49 字符列表的长度

创建一个依次包含字符串'P'、'y'、't'、'h'、'o'和'n'的列表my_list,
使用print()语句一行打印字符串'Here is the original list:',再直接使用print()语句把刚刚创建的列表my_list整个打印出来,
输出一个换行,再使用print()语句一行打印字符串'The number that my_list has is:',
再使用len()函数获取列表my_list里面有多少个字符串,并使用print()函数一行打印该整数。

my_list = ["P","y","t","h","o","n"]
print("Here is the original list:")
print(my_list)
print("")
print("The number that my_list has is:")
print(len(my_list))

NP50 程序员节

牛牛、牛妹和牛可乐都是Nowcoder的忠实用户,又到了一年一度的程序员节(10月24号),毫无疑问,他们都登录Nowcoder了,因为他们还没有刷完牛客题霸...
Nowcoder的管理员想对他们发送一些简单登录问候消息,并对他们表达了节日祝福。
请创建一个依次包含字符串 'Niuniu' 、'Niumei' 和 'Niu Ke Le' 的列表users_list,
请使用for循环遍历列表user_list,依次对列表users_list中的名字输出一行类似 'Hi, Niuniu! Welcome to Nowcoder!' 的字符串,
for循环结束后,最后输出一行字符串 "Happy Programmers' Day to everyone!"

users_list = ["Niuniu","Niumei","Niu Ke Le"]
for i in users_list:
    print(f"Hi, {i}! Welcome to Nowcoder!")
print("Happy Programmers' Day to everyone!")

NP51 列表的最大与最小

list = []
for x in range(10,51):
    list.append(x)
print(list)
print(list[0],list[-1])

NP52 累加数与平均值

牛牛有一个列表,记录了他和同事们的年龄,你能用for循环遍历链表的每一个元素,将其累加求得他们年龄的总和与平均数吗?

str = input()
age_list = str.split(" ")
age_sum = 0
len = len(age_list)
for x in age_list:
    age_sum = age_sum + int(x)
print(age_sum,"%.1f"%(age_sum/len))

NP53 前10个偶数

通过给函数 range()指定第三个参数来创建一个列表my_list,其中包含 [0, 19] 中的所有偶数;再使用一个 for 循环将这些数字都打印出来(每个数字独占一行)。

for x in range(0,20,2):
    print(x)

NP54 被5整除的数字

创建一个列表my_list,其中包括 [1, 50] 内全部能被5整除的数字;再使用一个 for 循环将这个列表中的数字都打印出来(每个数字独占一行)。

my_list = []
for x in range(1,51):
    if x%5 == 0:
        my_list.append(x)

for x in my_list:
    print(x)

NP55 2的次方数

my_list = []
for x in range(1,11):
    my_list.append(2**x)

for x in my_list:
    print(x)

 

NP56 列表解析

list =[]
for i in range(10):
    list.append(i)
print(list)

NP57 格式化清单

list = ['apple', 'ice cream', 'watermelon', 'chips', 'hotdogs', 'hotpot']

while len(list):
    list.pop(-1)
    print(list)

NP58 找到HR

创建一个依次包含字符串'Niuniu'、'Niumei'、'HR'、'Niu Ke Le'、'GURR' 和 'LOLO' 的列表users_list,
使用for循环遍历users_list,如果遍历到的用户名是 'HR' ,则使用print()语句一行打印字符串 'Hi, HR! Would you like to hire someone?',否则使用print()语句一行打印类似字符串 'Hi, Niuniu! Welcome to Nowcoder!' 的语句。

users_list = ['Niuniu','Niumei','HR','Niu Ke Le','GURR','LOLO' ]
for i in users_list:
    if i =="HR":
        print("Hi, HR! Would you like to hire someone?")
        continue
    print(f"Hi, {i}! Welcome to Nowcoder!")

NP59 提前结束的循环

牛牛在牛客网举行抽奖游戏,他准备了一个列表的元素[3, 45, 9, 8, 12, 89, 103, 42, 54, 79],打算依次输出这些元素。他让牛妹随便猜一个数字x,在输出的时候如果输出的元素等于牛妹猜的x,就不再继续输出。请你使用Python的for循环模拟这个输出过程,并根据输入的x使用break语句提前结束循环。

list = [3, 45, 9, 8, 12, 89, 103, 42, 54, 79]
num = int(input())

for i in list:
    if num==i:
        break
    else:
        print(i)

NP60 跳过列表的某个元素

牛客网在玩数数字游戏,员工一致认为13是一个“不详的数字”,请你使用for循环帮他们从1数到15,并使用continue语句跳过13。

  • 输出描述:输出数字1-15,跳过13,数字之间用空格间隔。

  • 代码

    for i in range(1,16):
        if i==13:
            continue
        else:
            print(i,end=" ")

NP61 牛牛的矩阵相加

牛牛正在做矩阵运算,他知道n个矩阵相加,就是将矩阵中每个位置的元素都乘上n。现有一个矩阵图片#106px #93px #B,请使用list记录该矩阵,对于牛牛输入的数字n,输出n个该矩阵相加的结果。

list = [[1,2,3],[4,5,6],[7,8,9]]
num = int(input())

for i in range(3):
    for j in range(3):
        list[i][j]=list[i][j]*num
print(list)

 

$$A_{m\times n}= \begin{bmatrix} a_{11}& a_{12}& \cdots & a_{1n} \\ a_{21}& a_{22}& \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1}& a_{m2}& \cdots & a_{mn} \end{bmatrix} =\left [ a_{ij}\right ]$$

 

评论

快捷导航

把好文章收藏到微信

打开微信,扫码查看

关闭

还没有账号?立即注册