3.3号练习题

##题目:
将字符串 ‘Hello World!’ 存储到变量str中,再使用print语句将其打印出来。
##解析
变量赋值打印
##代码
jus = [‘Hello World!’]
for ju in jus:
print(ju)

##运行结果
Hello World!

题目

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

解析

变量赋值打印

代码

str1 = “Hello World!”
str2 = “Hello Nowcoder!”
print(str1)
print(str2)

运行结果

Hello World!
Hello Nowcoder!

题目

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

解析

input 使用

代码

a = input()
print(a)

运行结果

输入:
Nowcoder
复制
输出:
Nowcoder

题目

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

解析

将字符串转化成整数为:a = int(a)或者 a = float(input())
输出变量类型:type()函数可以获取数据类型

代码

a = input()
a = int(a)
print(a)
print(type(a))

运行结果

输入:
1
1
<class ‘int’>

题目

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

解析

随机输入名字并且打印,需要input输入,并且《f“”》用来print输出打印字,注:不知道用语,自己的理解。

代码

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

运行结果

I am Niuniu and I am studying Python in Nowcoder!

题目

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

解析

(现学)控制python中浮点数输出的方法:
一是:使用round函数,round(x【n】),n为保留小数的参数
二是:%nf输出n位小数,前提是float,让数值变成浮点型(猜测,maybe)
三是format函数,format函数中使用一个大括号表示需要填充的参数,:后面可以规定数字的精度与类型print(“{:.2f}”.format(float(input())))
解析如下:
str.format() 格式化数字方法:
例如:
1

print(“{:.2f}”.format(3.1415926)) 3.14

代码

xiaoshu = input()
xiaoshu = float(xiaoshu )
print(‘%.2f’%xiaoshu)

注:‘%。nf’% 输出小数

运行结果

1.00

题目

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

解析

强制类型转换,直接输出时转换
学习:input输入的是str(字符串)类型,不等于数字,不等于浮点型整型等。变成整数要用int转换,变成浮点型要用float转换。

代码

a = float(input())
a = int(a)
print(a)

运行结果

10

题目

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

解析

增加小数点和保留小数点一样的用法

代码

a = int(input())
a = float(a)
print(‘%.1f’%a)
print(type(a))

运行结果

1.0
<class ‘float’>

题目

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

解析

先接收所需输入的十六进制数,int可以将十六进制转换成十进制。
int转换的使用方法:int(x,base=10)x表示字符串或者数字,base 进制数,默认十进制。

代码

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

运行结果

A 10

题目

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

解析

sep可以改变连接方式,默认\n换行。
学习:input输入的是字符串,直接在print中用+连接也是可以的。

代码

f1 = input()
f2 = input()
print(f1,f2 ,sep=‘’)

运行结果

NiuMeiNiuNeng

题目

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

解析

len()函数来计算字符串的长度

代码

a = input()
b = len(a)
print(b)

运行结果

Hello
5

题目

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

解析

title,upper lower

代码

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

运行结果

niumei
NIUMEI
Niumei

题目

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

解析

删除空白rstrip,lstrip,strip

代码

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

运行结果

niu

题目

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

解析

用*实现字符串的复制

代码

name = input()
print(name*100)

运行结果

HelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHelloHello

题目

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

解析

截取字符串
strname[start : end : step]

对各个部分的说明:
strname:要截取的字符串;
start:表示要截取的第一个字符所在的索引(截取时包含该字符)。如果不指定,默认为 0,也就是从字符串的开头截取;
end:表示要截取的最后一个字符所在的索引(截取时不包含该字符)。如果不指定,默认为字符串的长度;
step:指的是从 start 索引处的字符开始,每 step 个距离获取一个字符,直至 end 索引出的字符。step 默认值为 1,当省略该值时,最后一个冒号也可以省略。
学习:字符串的基本操作切片输出s[M:N]输出第M至第N个字符a=input()print(a[0:10])

代码

name = input()
a = name[0:10]
print(a)

运行结果

NiuNiuisBest

题目

某公司在面试结束后,创建了一个依次包含字符串 ‘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!’ 的句子。

解析

访问列表元素,用列表名【0等】,索引不是从1开始,
修改添加删除列表元素

代码

offer_list = [‘Allen’,‘Tom’]
print(f"{offer_list[0]},you have passed our interview and will soon become a member of our company.“)
print(f”{offer_list[1]},you have passed our interview and will soon become a member of our company.“)
offer_list[1] = ‘Andy’
print(f”{offer_list[0]}, welcome to join us!“)
print(f”{offer_list[1]}, welcome to join us!")

运行结果

Allen, you have passed our interview and will soon become a member of our company.
Tom, you have passed our interview and will soon become a member of our company.
Allen, welcome to join us!
Andy, welcome to join us!

题目

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

解析

生成列表:字符串方法split(): 在指定的分隔符处拆分字符串,并返回列表。默认按空格拆分。定义接收变量与列表变量,在接收输入的同时,将字符串按照空格进行分割

name = input().split(" ")
name_list = list()
字符串处理常用函数小汇总:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
text=“only YOU Loving yoU,你是我的唯一,jUst YoU,我能等你下课吗?能不能一起去逛街?达能小王子”

#大小写转换
text.upper() #大写
text.lower() #小写
text.title()#首字母大写
text.capitalize()#第一个字母大写
text.swapcase()#大小写对调

#字符串的搜索
text.count(“o”)#搜索并统计"o"出现的次数
text.count(“o”,28)#搜索并统计,从第28位开始,"o"出现的次数
text.startswith(“only”)#text以"only"开通
text.startswith(“only”,2,10)#text的第3-9个字符以"only"开通
text.find(“you”)#查找you
text.replace(“u”,“V”,2)

#填充或者剔除某些信息

“1999”.rjust(10,“KaTeX parse error: Expected 'EOF', got '#' at position 3: ")#̲前一个字符代表填充后字符串的总…”)
“1999”.zfill(9)#用0填充,类似 “1999”.rjust(9,“0”)
“1999”.rjust(9,“0”)
“1999”.center(50) #在左右两边都假设空格
" 1999 “.strip()#去重左右两边的空格
“1999”.strip(“9”)#去重左右两边的"9”
" 1999 “.strip(“9”)#去重左右两边的"9”,两边是空格没有9

#字符串的分割与合并

text.replace(“能”,“,”)
text1=text.replace(“能”,“\n”)
print(text1)
print(text.replace(“能”,“\n”))
text.split(“能”)#以"能"为结点把str拆成一个字列表
text.partition(“能”) #以"能"为结点把str拆成一个字元组
text.rpartition(“能”)
text1.splitlines()#识别空行进行分割
text1.split(“\n”)#同上分割空行
“@”.join(text)#把@插入到str的每一个字符中
“12345”.join(" ")#重复并拼接

代码

name = input().split(" ")
name_list = list()
for i in name:
name_list.append(i)
print(name_list)

运行结果

题目

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

解析

xuexi:
使用split()函数将字符串转化为列表,对列表进行for 循环对每个元素进行int()格式转化加工后输出。
1
2
3
4
5
6
7
8
9
10
11
12
13
str1=input()

#使用split()将字符串生成列表
list1=str1.split()

#创建一个空列表
list2=[]

#将数据处理后依次插入到列表(这一步可以简化,详见下方一个代码块)
for i in list1:
i=int(i)
list2.append(i)
print(list2)
简化后的代码
1
2
3
#这是另一个知识点,list推导式
list1 = [int(i) for i in input().split()]
print(list1)
二、知识拓展(list的其他操作)
list的操作和str的操作还挺相似的,他俩最的本质区别在于list可变,str不可变,可以说list是一个变化无常的妖孽。
list的操作主要有:内置函数,method
还要再补充一个很好用的东西:list的推导式
list内置函数和method的区别我学艺不精不会表达,有一个比较粗浅的记忆方法,凡是会改变list的都是method,以sorted(list)和list.sort 为例吧

1、list的常见内置函数
len() :求列表元素个数
max() :求列表最大值
min() :求列表最小值
sum() :求列表的和
sorted() :求排序后的列表序列
list() :将其他数据结构转换成列表
any() :只要列表里有一个True就会返回True
all():表里的所有元素都是True才会返回True

enumerate() :可以配合for loop使用提取列表元素的位置信息。

2、list的常见method
2.1添加或者移除
list.append(元素):在末尾添加一个元素

list.insert(n,元素):可以看作是更强大的append,在特定的位置插入数据

list.pop(n):返回删除特定位置的元素

list.remove():删除指定元素

list.extend():合并list

append(a),a是作为一个元素被插入到list1中,extend(a),a是作为一整个列表拓展了list1
list.copy():因为列表容易被改变,操作的时候使用copy复制一个列表,就不会改变原列表的数据啦~

list.clear():清空列表
2.2其他
list.index(元素):搜索元素在序列的第几个位置

list.count():计算某个元素在列表中出现的次数

list.reverse():调转排序

list.sort():从小到大
list.sort(reverse=True):从大到小
3、list的推导式
list=[推导语句 for i in list] ,可以省略append和创建空list这两个步骤。

1、获取一个从0-9序列的列表

2、修改元素

代码

print(list(map(int,input().split())))

运行结果

题目

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

解析

代码

print(len(list(input().split(’ '))))

运行结果

题目

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

解析

代码

name = [‘Niuniu’, ‘Niumei’,‘Lucy’,’ Niuneng ','Niukele ',‘Jack’,'Tom ',‘Tony’]
name.append(‘Allen’)
print(name)

运行结果

题目

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

解析

name.insert(0,‘Allen’)让名字显示在最前边

代码

name = [‘Niuniu’, ‘Niumei’,‘Lucy’,’ Niuneng ','Niukele ',‘Jack’,'Tom ',‘Tony’]
name.insert(0,‘Allen’)
print(name)

运行结果

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值