牛客网Python篇入门编程习题(一)

简介: 牛客网Python篇入门编程习题

一、 输入输出

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

str =  'Hello World!' 
print(str)

2.将字符串 'Hello World!' 存储到变量str1中,

再将字符串 'Hello Nowcoder!' 存储到变量str2中,

再使用print语句将其打印出来(一行一个变量)。

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

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

print(input())

4.在学会读入字符串以后,小白还想要读入整数,

请你帮他使用input函数读入数字并输出数字与变量类型。

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

5.牛牛、牛妹和牛可乐正在Nowcoder学习Python语言,现在给定他们三个当中的某一个名字name,假设输入的name为Niuniu,则输出 I am Niuniu and I am studying Python in Nowcoder!

请按以上句式输出相应的英文句子。

name = input()
print('I am {} and I am studying Python in Nowcoder!'.format(name))

6.牛牛正在学习Python的输出,他想要使用print函数控制小数的位数,

你能帮助它把所有读入的数据都保留两位小数输出吗?

print('%.2f' %float(input()))

二、 类型转换

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

print(int(float(input())))

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

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

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

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

三、 字符类型

1.牛牛有两个最好的朋友,他们的名字分别用input读入记录在两个字符串中,请使用字符串连接(+)帮助牛牛将两个朋友的名字依次连接在一个字符串中输出。

name1 = input()
name2 = input()
print(name1 + name2)

2.牛妹正在学英语,但是背单词实在是太痛苦了,她想让你帮她写一个小程序,能够根据输入的单词,快速得到单词的长度。

print(len(input()))

3.牛牛、牛妹和牛可乐都是Nowcoder的用户,某天Nowcoder的管理员希望将他们的用户名以某种格式进行显示,现在给定他们三个当中的某一个名字name,请分别按全小写、全大写和首字母大写的方式对name进行格式化输出(注:每种格式独占一行)。

name = input()
print(name.lower())
print(name.upper())
print(name.title())

4.牛牛、牛妹和牛可乐都是Nowcoder的用户,某天Nowcoder的管理员由于某种错误的操作导致他们的用户名的左右两边增加了一些多余的空白符(如空格或'\t'等),现在给定他们三个当中的某一个名字name,请输出name去掉两边的空白符后的原本的内容。

name = input().strip()
print(name)

5.牛牛正在学习Python,他想多次输出朋友的名字,但是因为还没有学习循环语句,他不知道该怎么输出,你能够帮助他将输入的朋友的名字重复输出100次吗?(提示:不可以使用循环或者递归语句,使用字符串 * 运算)

print(input()*100)

6.牛客网正在录入用户的昵称,但是有的昵称太长了,对于这些过长的昵称,牛牛觉得截取昵称字符串前10个字符就可以了,你可以帮他写一个程序吗?

print(input()[:10])

四、 列表类型

1.某公司在面试结束后,创建了一个依次包含字符串 '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 x in offer_list:
    print('{}, you have passed our interview and will soon become a member of our company.'.format(x))
offer_list[1]='Andy'
for y in offer_list:
    print('{}, welcome to join us!'.format(y))

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

print(input().split())

3.牛牛在牛客网系统录入了一连串数字,数字之间依靠逗号隔开,你能帮助他将这些数字存储在列表中吗,列表元素以int的形式。

num_str = input().split()
num = [int(i) for i in num_str]
print(num)

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

print(len(input().split()))

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

name = input().split()
name.append('Allen')
print(name)

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

name = input().split()
name.insert(0,'Allen')
print(name)

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

name = input().split()
name.pop(0)
print(name)

8.牛妹有一个坏习惯,一旦与朋友吵架了,她就要删除好友。现在输入一个行多个字符串表示牛妹的朋友,请把它们封装成列表,然后再输入与牛妹吵架的朋友的名字,请使用remove函数帮她从列表中删除这个好友,然后输出完整列表。

name = input().split()
name.remove(input())
print(name)

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

name = input().split()
name.pop()
name.pop()
name.pop()
print(name)

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

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

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

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

12.牛牛有一个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。

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

13.牛牛和牛妹一起玩密码游戏,牛牛作为发送方会发送一个4位数的整数给牛妹,牛妹接收后将对密码进行破解。破解方案如下:每位数字都要加上3再除以9的余数代替该位数字,然后将第1位和第3位数字交换,第2位和第4位数字交换。请输出牛妹破解后的密码。

nums = input()
num_str = ''
for i in nums:
    num_str = num_str + str((int(i)+3)%9)
num_str = num_str[2] + num_str[3] + num_str[0] + num_str[1]
print(num_str)

14.栈是一种先进后出的数据结构,类似我们生活中挤电梯,最后进入的肯定是先出来,现我们用Python的列表来模拟栈。假设初始的列表为 stack = [1, 2, 3, 4, 5],请将其视作栈,使用pop函数弹出末尾两个元素,再使用append函数将输入元素加入到栈中,每次操作完成要输出整个列表。

stack = [1, 2, 3, 4, 5]
num = int(input())
stack.pop()
print(stack)
stack.pop()
print(stack)
stack.append(num)
print(stack)

15.队列是一种先进先出的数据结构,类似食堂排队打饭,先入队的元素当然要先出队,先请用Python列表模拟队列。现有一列表 queue = [1, 2, 3, 4, 5] 被视作队列,请使用pop函数连续两次取出队首元素,再使用append函数将输入元素添加到队尾,每次操作后都要输出完整的列表。

queue = [1, 2, 3, 4, 5]
num = int(input())
queue.pop(0)
print(queue)
queue.pop(0)
print(queue)
queue.append(num)
print(queue)

16.创建一个列表group_list,其中依次包含字符串 'Tom', 'Allen', 'Jane', 'William', 'Tony' 表示这个小组成员的名字。现有三项任务需要他们去完成,根据不同任务的繁琐度和实际情况需要分别派2人、3人、2人来完成,他们决定通过对列表分片来分配任务。

使用print()语句和切片来打印列表group_list的前两个元素表示去做第一个任务的人的名字,

再使用print()语句和切片来打印列表group_list的中间三个元素表示去做第二个任务的人的名字,

再使用print()语句和切片来打印列表group_list的后两个元素表示去做第三个任务的人的名字。

group_list = ['Tom', 'Allen', 'Jane', 'William', 'Tony' ]
print(group_list[:2])
print(group_list[1:4])
print(group_list[3:])

五、 运算符号

1.为了辅导刚上小学的妹妹做功课,牛牛想用Python写一个加减器帮助妹妹巩固加减运算。现要求输入两个数字x与y,分别输出x+y的结果和x-y的结果。

x = int(input())
y = int(input())
print(x + y)
print(x - y)

2.刚刚学习Python的牛牛发现,同样的符号出现两次可能代表不同的运算,比如*与**。现输入两个数字x与y,请分别计算x * y 与 xy。

x = int(input())
y = int(input())
print(x * y)
print(x ** y)

3.我们都知道在计算机里除法有两种,一种是整除,结果有商和余数,另一种则是将其除到有小数。现输入两个数字x与y,分别计算两种除法下x/y的结果。

x = int(input())
y = int(input())
print(x//y,x%y)
print('%.2f' %(x/y))

4.牛牛有一个习惯,新认识一个朋友他就想知道这个朋友和自己的年龄是不是一样大,输入两个整数表示牛牛的年龄和朋友的年龄,请输出牛牛的年龄是否等于朋友的年龄的比较结果?

num = input().split()
print(int(num[0])==int(num[1]))

5.牛牛在和牛妹玩猜数字游戏,他们想请你写一个快速判断牛牛的数字是不是大于牛妹数字的程序。输入两个整数,以空格间隔,输出第一个数字是否大于第二个数字,第一个数字是否小于第二个数字。

num = input().split()
print(int(num[0]) > int(num[1]))
print(int(num[0]) < int(num[1]))

6.牛妹去游乐园,对于某项目,如果牛妹的身高k不超过某个标准x,就不需要收取额外费用,但是该项目有需要身高不低于y才可以保障安全。现依次输入三个数字k、x、y,牛妹想让你帮她比较一下,她的身高是否不超过x,是否不低于y。

num = input().split()
print(float(num[0]) <= float(num[1]))
print(float(num[0]) >= float(num[2]))

7.牛牛想要锻炼自己的逻辑能力,于是输入了两个整型变量x和y,分别判断它们的与、或、非关系,你能帮他输出x与y,x或y,非x,非y的值吗?

num = input().split()
print(int(num[0]) and int(num[1]))
print(int(num[0]) or int(num[1]))
print(not(int(num[0])))
print(not(int(num[1])))

8.正在学习Python的牛可乐,对Python里面的大小比较很疑惑。他知道数字之间可以相等,有大小关系,但是字符串之间怎么比较,他就很纳闷了。现在牛可乐输入两个字符串s1与s2,请你帮他比较这两个字符串是否相等,两个字符串各自调用lower函数后还是否相等。

str1 = input()
str2 = input()
print(str1==str2)
print(str1.lower()==str2.lower())

9.牛客网内部有一个刷题俱乐部,是大家比拼刷题与交流算法的地方。现在给出俱乐部的名单,请以列表的形式记录它们,并使用Python的成员运算检验给出的名字name是否属于这个俱乐部?(名字区分大小写)

name = input().split()
query = input()
print(query in name)

10.Python有位运算,是直接将数字看成二进制,直接对二进制数字的每一位进行运算。现输入两个十进制整数x、y,请计算它们的位与、位或,输出按照十进制的形式。

name = input().split()
print(int(name[0])&int(name[1]))
print(int(name[0])|int(name[1]))

11.牛客网为员工举行了一项快速心算大赛,需要程序员大大写一款涉及加减乘除的验算小程序。假如输入的数字分别是x、y、z、k,请输出x+y的结果与z-k的结果相乘的值。

num = input().split()
print((int(num[0])+int(num[1]))*(int(num[2])-int(num[3])))

六、 条件语句

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

num = int(input())
if num:
    print('Hello World!')
else:
    print('Erros!')

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


否则使用print()语句一行输出字符串'my_list is not empty!'。

my_list = []
if my_list:
    print('my_list is not empty!')
else:
    print('my_list is empty!')

3.创建一个依次包含字符串'Niuniu'、'Niumei'、'GURR'和'LOLO'的列表current_users,

再创建一个依次包含字符串'GurR'、'Niu Ke Le'、'LoLo'和'Tuo Rui Chi'的列表new_users,

使用for循环遍历new_users,如果遍历到的新用户名在current_users中,

则使用print()语句一行输出类似字符串'The user name GurR has already been registered! Please change it and try again!'的语句,

否则使用print()语句一行输出类似字符串'Congratulations, the user name Niu Ke Le is available!'的语句。(注:用户名的比较不区分大小写)

current_users = ['Niuniu', 'Niumei', 'GURR', 'LOLO']
new_users = ['GurR', 'Niu Ke Le', 'LoLo', 'Tuo Rui Chi']
current_users = [name.upper() for name in current_users]
for name in new_users:
        if name.upper() in current_users :
            print('The user name {} has already been registered! Please change it and try again!'.format(name))
        else:
            print('Congratulations, the user name {} is available!'.format(name))

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

foods = { 'pizza':10,'rice':2 ,'yogurt':5}
food = input('')
if food in foods:
    print(foods[food])
else:
    print(8)

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

grades = {'A': 4.0, 'B': 3.0, 'C': 2.0, 'D': 1.0, 'F': 0}
grades_sum = 0
number_sum = 0
while True:
    x = input()
    if x == 'False':
        break
    else:
        y = float(input())
        grades_sum +=grades[x] * y
        number_sum += y
print('%.2f' %(grades_sum/number_sum))

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

name = input()
password = input()
if name == 'admis' and password == 'Nowcoder666':
    print('Welcome!')
else:
    print('user id or password is not correct!')


相关文章
|
5天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
5天前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!
|
5天前
|
存储 Python
Python编程入门:打造你的第一个程序
【10月更文挑战第39天】在数字时代的浪潮中,掌握编程技能如同掌握了一门新时代的语言。本文将引导你步入Python编程的奇妙世界,从零基础出发,一步步构建你的第一个程序。我们将探索编程的基本概念,通过简单示例理解变量、数据类型和控制结构,最终实现一个简单的猜数字游戏。这不仅是一段代码的旅程,更是逻辑思维和问题解决能力的锻炼之旅。准备好了吗?让我们开始吧!
|
4天前
|
设计模式 缓存 开发框架
Python中的装饰器:从入门到实践####
本文深入探讨了Python中装饰器的工作原理与应用,通过具体案例展示了如何利用装饰器增强函数功能、提高代码复用性和可读性。读者将学习到装饰器的基本概念、实现方法及其在实际项目开发中的实用技巧。 ####
17 3
|
6天前
|
机器学习/深度学习 存储 算法
探索Python编程:从基础到高级应用
【10月更文挑战第38天】本文旨在引导读者从Python的基础知识出发,逐渐深入到高级编程概念。通过简明的语言和实际代码示例,我们将一起探索这门语言的魅力和潜力,理解它如何帮助解决现实问题,并启发我们思考编程在现代社会中的作用和意义。
|
6天前
|
机器学习/深度学习 数据挖掘 开发者
Python编程入门:理解基础语法与编写第一个程序
【10月更文挑战第37天】本文旨在为初学者提供Python编程的初步了解,通过简明的语言和直观的例子,引导读者掌握Python的基础语法,并完成一个简单的程序。我们将从变量、数据类型到控制结构,逐步展开讲解,确保即使是编程新手也能轻松跟上。文章末尾附有完整代码示例,供读者参考和实践。
|
7天前
|
设计模式 算法 搜索推荐
Python编程中的设计模式:优雅解决复杂问题的钥匙####
本文将探讨Python编程中几种核心设计模式的应用实例与优势,不涉及具体代码示例,而是聚焦于每种模式背后的设计理念、适用场景及其如何促进代码的可维护性和扩展性。通过理解这些设计模式,开发者可以更加高效地构建软件系统,实现代码复用,提升项目质量。 ####
|
7天前
|
人工智能 数据挖掘 程序员
Python编程入门:从零到英雄
【10月更文挑战第37天】本文将引导你走进Python编程的世界,无论你是初学者还是有一定基础的开发者,都能从中受益。我们将从最基础的语法开始讲解,逐步深入到更复杂的主题,如数据结构、面向对象编程和网络编程等。通过本文的学习,你将能够编写出自己的Python程序,实现各种功能。让我们一起踏上Python编程之旅吧!
|
8天前
|
数据采集 机器学习/深度学习 人工智能
Python编程入门:从基础到实战
【10月更文挑战第36天】本文将带你走进Python的世界,从基础语法出发,逐步深入到实际项目应用。我们将一起探索Python的简洁与强大,通过实例学习如何运用Python解决问题。无论你是编程新手还是希望扩展技能的老手,这篇文章都将为你提供有价值的指导和灵感。让我们一起开启Python编程之旅,用代码书写想法,创造可能。
|
10天前
|
Python
不容错过!Python中图的精妙表示与高效遍历策略,提升你的编程艺术感
本文介绍了Python中图的表示方法及遍历策略。图可通过邻接表或邻接矩阵表示,前者节省空间适合稀疏图,后者便于检查连接但占用更多空间。文章详细展示了邻接表和邻接矩阵的实现,并讲解了深度优先搜索(DFS)和广度优先搜索(BFS)的遍历方法,帮助读者掌握图的基本操作和应用技巧。
27 4