NIUKE Python:Python入门(下)

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

修改属性1

较难09.10%

NP6

修改属性2

较难12.54%

NP7

重载运算

较难12.14%

12 正则表达式

正则表达式

NP1

正则查找网址

中等24.27%

NP2

提取数字电话

中等24.10%

NP3

截断电话号码

较难14.91%

  • 24
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值