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,'\n')
print('The number that my_list has is:')
print(len(my_list))
NP50 程序员节
请创建一个依次包含字符串 '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 列表的最大与最小
创建一个从10到50的数字列表.请输出完整列表,并输出列表的首尾元素检验是否是从10到50.
输出描述:
第一行输出完整列表
第二行输出列表首元素和尾元素,空格间隔
a=[]
for i in range(10,51):
a.append(int(i))
print(a)
print(a[0],a[len(a)-1],sep=' ')
NP52 累加数与平均值
输入描述:一行输入多个整数,以空格间隔
输出描述:输出年龄总和与平均数,平均数保留1位小数,两个数字以空格间隔
a=list(map(int,input().split()))
b=0
for i in a:
b+=i
c=b/len(a)
print(b,'{:.1f}'.format(c),sep=' ')
NP53 前10个偶数
通过给函数 range()指定第三个参数来创建一个列表my_list,其中包含 [0, 19] 中的所有偶数;再使用一个 for 循环将这些数字都打印出来(每个数字独占一行)
my_list=range(0,20,2)
for i in my_list:
print(i)
NP54 被5整除的数字
创建一个列表my_list,其中包括 [1, 50] 内全部能被5整除的数字;再使用一个 for 循环将这个列表中的数字都打印出来(每个数字独占一行)
my_list=range(5,51,5)
for i in my_list:
print(i)
NP55 2的次方数
在Python中, * 代表乘法运算, ** 代表次方运算。
请创建一个空列表my_list,使用for循环、range()函数和append()函数令列表my_list包含底数2的 [1, 10] 次方,再使用一个 for 循环将这些次方数都打印出来(每个数字独占一行)
my_list=[]
for i in range(1,11):
my_list.append(2**i)
for i in my_list:
print(i)
NP56 列表解析
Python支持的解析操作,可以根据某些元素创建列表。请你使用列表解析创建一个0-9的列表,并输出该列表
print(list(range(0,10)))
NP57 格式化清单
Python的list,['apple', 'ice cream', 'watermelon', 'chips', 'hotdogs', 'hotpot']。从清单最后一种食物开始往前从list中pop掉,请使用while循环依次打印每次吃掉一种食物后剩余的清单
输出描述:
每次去除列表末尾元素后,打印整个列表,直到列表为空,每个列表之间换行。
最初的列表不打印,空列表要打印
food=['apple', 'ice cream', 'watermelon', 'chips', 'hotdogs', 'hotpot']
while len(food)!=0:
food.pop()
print(food)
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?')
else:
print(f'Hi, {i}! Welcome to Nowcoder!')
NP59 提前结束的循环
准备一个列表的元素[3, 45, 9, 8, 12, 89, 103, 42, 54, 79],打算依次输出这些元素。猜一个数字x,在输出的时候如果输出的元素等于x,就不再继续输出
输入描述:输入整数x
输出描述:输出到x的前一个数字,x不用输出,每个数字单独成行
num=[3, 45, 9, 8, 12, 89, 103, 42, 54, 79]
x=int(input())
for i in num:
if i != x:
print(i)
else:
break
NP60 跳过列表的某个元素
输出描述:输出数字1-15,跳过13,数字之间用空格间隔
a=[]
for i in range(1,16):
if i != 13:
print(i,end=' ')
NP61 牛牛的矩阵相加
牛牛正在做矩阵运算,他知道n个矩阵相加,就是将矩阵中每个位置的元素都乘上n。现有一个矩阵
1 2 3
4 5 6
7 8 9
请使用list记录该矩阵,对于输入的数字n,输出n个该矩阵相加的结果
输入描述:输入整数n,0<n<10
输出描述:输出n个矩阵相加的结果,直接以二维列表的形式输出
a=[[1,2,3],[4,5,6],[7,8,9]]
n=int(input())
for i in range(0,len(a)):
for j in range(0,len(a[i])):
a[i][j]=a[i][j]*n
print(a)
08 元组
NP62 运动会双人项目
输入描述:
第一行以字符串的形式输入第一个人的名字
第二行以字符串的形式输入第二个人的名字
输出描述:直接输出两个名字组成的元组
a=input()
b=input()
print((a,b)) #直接()创建tuple
print(tuple([a,b])) #将列表转换成tuple
创建元组
NP63 修改报名名单
请创建一个依次包含字符串'Niuniu'和'Niumei'的元组entry_form,并直接输出整个元组
然后尝试使用try- except代码块执行语句:entry-form[1] = 'Niukele',若是引发TypeError错误,请输出'The entry form cannot be modified!'
输出描述:
第一行输出创建的元组整体
第二行若是修改失败,则输出错误信息
entry_form=('Niuniu','Niumei')
print(entry_form)
try:
entry_form[1] = 'Niukele'
except TypeError:
print('The entry form cannot be modified!')
try-except
我们把可能发生错误的语句放在try模块里,用except来处理异常。except可以处理一个专门的异常,也可以处理一组圆括号中的异常,如果except后没有指定异常,则默认处理所有的异常。每一个try,都必须至少有一个except
s1 = 'hello'
try:
int(s1)
except IndexError as e:
print(e)
except KeyError as e:
print(e)
else:
print('try内代码块没有异常则执行我')
finally:
print('无论异常与否,都会执行该模块,通常是进行清理工作')
NP64 输出前三同学的成绩
输入描述:一行输入多个字符串表示考生的名字,以空格间隔。输入名字数可能少于3
输出描述:截取输出该元组前三位的部分
name=tuple(input().split(' '))
print(name[0:3])
元组截取:tuple_name[start:stop]
列表截取:list_name[start:stop]
NP65 名单中出现过的人
['Tom', 'Tony', 'Allen', 'Cydin', 'Lucy', 'Anna'],创建为不可被修改的Python元组后,输出整个元组
对于输入的名字name,请使用成员运算检验它是否出现在这份名单中,若是在名单中则输出'Congratulations!',否则输出'What a pity!'.
输入描述:以字符串的形式输入一个名字,只包含大小写字母
输出描述:第一行输出完整元组,第二行根据判断输出相应语句
name=input()
a=tuple(['Tom','Tony','Allen','Cydin','Lucy','Anna'])
print(a)
if name in a:
print('Congratulations!')
else:
print('What a pity!')
NP66 增加元组的长度
有一个元组记录数字1-5,请创建该元组,并使用len函数获取该元组的长度
在该元组后再连接一个6-10的元祖,请输出连接后的元组及长度
输出描述:
第一行输出整体的原始元组(带括号输出)
第二行输出原始元组的长度
第三行输出连接后的整体元组(带括号输出)
第四行输出连接后的元组长度
b=[]
for i in range(1,6):
b.append(i)
a=tuple(b)
n=len(a)
print(a,n,sep='\n')
for i in range(6,11):
b.append(i)
a=tuple(b)
n=len(a)
print(a,n,sep='\n')
09 字典
字典
NP1
入门11.07%
NP2
中等20.56%
NP3
简单13.45%
NP4
简单13.88%
NP5
入门20.88%
NP6
中等22.73%
NP7
中等15.36%
NP8
简单27.58%
NP9
中等23.84%
10 内置函数
内置函数
NP1
中等12.85%
NP2
简单35.00%
NP3
简单47.15%
NP4
简单57.35%
NP5
简单41.88%
NP6
简单69.11%
NP7
简单21.10%
NP8
简单27.04%
NP9
简单35.46%
NP10
简单31.37%
NP11
简单20.53%
NP12
中等57.25%
NP13
中等57.09%
NP14
中等11.75%
NP15
中等28.08%
NP16
简单28.41%
NP17
中等67.27%
NP18
中等21.00%
11 面向对象
面向对象
NP1
简单31.29%
NP2
较难18.84%
NP3
较难10.91%
NP4
入门09.63%
NP5
较难09.10%
NP6
较难12.54%
NP7
较难12.14%
12 正则表达式
正则表达式
NP1
中等24.27%
NP2
中等24.10%
NP3
较难14.91%