前言
最近很多学了基础的小伙伴问我该怎么提升编程水平?学了基础该上哪刷题?明明学了很多,做项目却不知道怎么上手,其实这就是练得太少,只注重了学,却忽视了刷题,只有不断练习才能提高和巩固编程思维和能力!
刚好看到牛客网最近出了Python的新题库于是体验了一番感觉还不错
链接地址:牛客网 | Python从入门到实践四十招,废话少说速度上号,或者跟着下文一起刷题!!!
描述:牛可乐学习了很多单词,但是他并不会灵活运用,只会将单词简单的连接成句子。请你模仿牛可乐连接单词的过程,将读入的字符串记录在列表中,先输出列表看看学习了哪些单词,然后拼接成一个用空格间隔开的句子并输出。
输入描述:输入多个字符串,只包含大小写英文字母,单词之间用逗号隔开。
输出描述:
- 第一行输出读入字符串的列表。
- 第二行输出列表中字符串拼接而成的字符串。
代码实现:
a = input("请输入你的句子:")
print(a.split(","))
print(" ".join(a.split(",")))
描述:字符串target是一个较长的字符串,请在字符串target中找出模式串patten出现的次数,并找到其出现的第一个位置。(子串不重叠统计,如果没有找到,位置为-1)
输入描述:
- 第一行输入target,第二行输入patten。
- 所有字符串都只包含大小写字母。
输出描述:
- 第一行输出patten在target中出现的次数,为非负数。
- 第二行输出patten在target中第一次出现的位置,没有则输出-1。(位置从下标0开始)
代码实现:
target = input("请输入第一个字符串:")
patten = input("请输入第二个字符串:")
print("出现的次数为:", target.count(patten))
print("出现的位置为:", target.find(patten))
描述:牛牛、牛妹、牛可乐在一起讨论自己的幸运数字的大小。根据输入依次用列表记录三人的幸运数字,然后找出其中最小的幸运数字是多少?并输出列表排序后的结果。
输入描述:依次输入三个整数。
输出描述:
- 第一行输出三人中最小的幸运数字。
- 第二行输出排序后的列表。
代码实现:
a = int(input("请输入第一个数:"))
b = int(input("请输入第二个数:"))
c = int(input("请输入第三个数:"))
list1 = [a, b, c]
list2 = sorted(list1)
print("最小的幸运数字:", list2[0])
print("排序后列表:", list2)
描述:牛牛正在背九九乘法表,他想将乘法表打印下来。现输入一个数n,请打印九九乘法表中的1~n行。(第一个乘数为行号,式子与式子之间按照空格间隔开)
输入描述:输入一个整数n,1 <= n <=9
输出描述:输出九九乘法表前n行。
代码实现:
n = int(input("请输入一个数字:"))
for i in range(1, n + 1):
for j in range(1, i + 1):
print('{0}*{1}={2}'.format(i, j, i * j), end=' ')
print()
描述:素数即除了1和自身,没有别的因数。牛牛想知道一个数字n是否是素数,请用Python程序帮助他判断。
输入描述:输入一个正整数n,n>2
输出描述:如果是素数,则输出Yes,否则输出No。
代码实现:
n = int(input("请输入要判断的数字:"))
f = 0
for i in range(2, n):
if n % i == 0:
f = f + 1
if f == 0:
print('%s 是素数' % n)
else:
print('%s 不是素数' % n)
描述:牛牛有一份字符串
my_str = 'I am$ N$iuniu$, an$d I $am stu$dying in $Now$coder!'
被污染了,其中出现了很多奇怪的 符 号 。 现 请 你 使 用 s p l i t 函 数 将 这 份 字 符 串 从 符 号 符号。 现请你使用split函数将这份字符串从符号 符号。现请你使用split函数将这份字符串从符号处分割成众多字符列表,记录在my_list中,并使用print函数直接打印my_list中的结果。然后再使用join函数将my_list中的分段字符串重新连接成一个新的字符串,并使用print函数输出。
输入描述:无
输出描述:
- [‘I am’, ’ N’, ‘iuniu’, ‘, an’, 'd I ', ‘am stu’, 'dying in ', ‘Now’, ‘coder!’]
- I am Niuniu, and I am studying in Nowcoder!
代码实现1:
my_str = 'I am$ N$iuniu$, an$d I $am stu$dying in $Now$coder!'
def split(letter, my_str):
newlist = [] # 建立空列表储存抽出来的有用字符
j = 0 # 用来作为分片的开头
for i in range(0, len(my_str)): # 遍历每个字符编号 若为$则将该$之前的,上一个$之后的字符append到空列表
if my_str[i] == letter:
newlist.append(my_str[j:i])
j = i + 1 # 若第i个字符为$,则下一个分片应从i+1开始
elif i == len(my_str) - 1: # 到字符末尾时如果没有$则需要单独列出
newlist.append(my_str[j:i + 1])
else:
pass
return newlist
newlist = split('$', my_str)
print(newlist)
print(''.join(newlist))
代码实现2:
my_str = 'I am$ N$iuniu$, an$d I $am stu$dying in $Now$coder!'
my_list = my_str.split('$')
print(my_list)
print(''.join(my_list))
描述:牛牛、牛妹和牛可乐都是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!”
输入描述:无
输出描述:
- 按题目描述进行输出即可。
- Hi, Niuniu! Welcome to Nowcoder!
- Hi, Niumei! Welcome to Nowcoder!
- Hi, Niu Ke Le! Welcome to Nowcoder!
- Happy Programmers’ Day to everyone!
代码实现:
users_list = ['Niuniu', 'Niumei', 'Niu Ke Le']
for i in users_list:
print("Hi, %s! Welcome to Nowcoder! " % i)
print("Happy Programmers' Day to everyone!")
描述:牛牛和牛妹一起玩密码游戏,牛牛作为发送方会发送一个4位数的整数给牛妹,牛妹接收后将对密码进行破解。
破解方案如下:每位数字都要加上3再除以9的余数代替该位数字,然后将第1位和第3位数字交换,第2位和第4位数字交换。
请输出牛妹破解后的密码。
输入描述:输入一个四位数的整数。
输出描述:输出破解后的密码,以四位数的形式。
代码实现:
list1 = []
num = input("请输入一个四位数:")
for i in num:
number = (int(i) + 3) % 9
list1.append(number)
list1[0], list1[1], list1[2], list1[3] = list1[2], list1[3], list1[0], list1[1]
s = ''.join(map(str, list1))
print(s)
描述:牛牛正在学英语字母,他想知道字符串s中每个字母出现的次数,请根据每个字母在字符串中首次出现的次序依次打印每个字母及其出现的次数。
输入描述:输入一个字符串s,只包含大小写英文字母。
输出描述:输出每个字母及其出现的次数,用空格间隔,每个字母单独一行。
代码实现:
str = input("请输入英文字母:")
dict = {}
for i in str:
dict[i] = dict.get(i, 0) + 1
for key, value in dict.items():
print('{0} {1}'.format(key, value))
嫌博主更新慢的小伙伴牛客网上号自行刷题
1. 编程小白选手
很多刚入门编程的小白学习了基础语法,却不知道语法的用途,不知道如何加深映像,不知道如何提升自己,这个时候每天刷自主刷一道题就非常重要(百炼成神),可以去牛客网上的编程初学者入门训练。该专题为编程入门级别,适合刚学完语法的小白练习,题目涉及编程基础语法,基本结构等,每道题带有练习模式和考试模式,可还原考试模式进行模拟,也可通过练习模式进行练习。
链接地址:牛客网 | 编程初学者入门训练
2. 编程进阶选手
当基础练习完已经逐步掌握了各知识要点后,这个时候去专项练习中学习数据结构、算法基础、计算机基础等。先从简单的入手,感觉上来了再做中等难度,以及较难的题目。这三样是面试中必考的知识点,我们只有坚持每日自己去多加练习,拒绝平躺持续刷题,不断提升自己才能冲击令人满意的公司。
链接地址:牛客网 | 专项练习
速度上号,大家一起冲击大厂,有疑问评论区留言解答!!!