Python基础练习题

目录

1.姓名

2.问候语

3.嘉宾名单

4.修改嘉宾名单

5.添加嘉宾

6.缩减名单

7.放眼世界

8.外星人颜色

9.外星人2

10.外星人的颜色3

11.人生的不同阶段

12.思考如何判断序列(例如列表)为空?

13.多维列表

14.字典序的应用


1.姓名

将一些朋友的姓名存储在一个列表里面,并将其命名names。依次访问列表中的每一个元素,并打印出来

names=['zsy','wq','znh']
print(names)

2.问候语

继续使用1中的列表,不但打印每个朋友的姓名,并且要为每人打印一条信息。每条信息都有相同的问候语,开头为朋友的名字。

(提示:字符串的f表达式的使用)

names=['zsy','wq']
for i in range(0,len(names)):
    print(names[i]+'你好!')

3.嘉宾名单

如果你可以邀请任何人一起共进晚餐(无论是在世的还 是故去的),你会邀请哪些人?请创建一个列表,其中包含至少三个你想邀请 的人,然后使用这个列表打印消息,邀请这些人来与你共进晚餐。

names=['zsy','wq','zz']
for i in range(0,len(names)):
    print(names[i])

4.修改嘉宾名单

你刚得知有位嘉宾无法赴约,因此需要另外邀请一位嘉宾。

~以完成练习4时编写的程序为基础,在程序末尾添加一条print 语句,指出哪位嘉宾无法赴约。

~修改嘉宾名单,将无法赴约的嘉宾的姓名替换为新邀请的嘉宾的姓名。

~再次打印一系列消息,向名单中的每位嘉宾发出邀请。

names=['zsy','wq']
print("wq")

for i in range(0,len(names)):
    print(names[i]+'你好!')

5.添加嘉宾

你刚找到了一个更大的餐桌,可容纳更多的嘉宾。请想想你还想邀请哪三位嘉宾。

~以完成练习3-4或练习3-5时编写的程序为基础,在程序末尾添加一条 print语句,指出你找到了一个更大的餐桌

~使用insert()将一位新嘉宾添加到名单开头

names=['zsy','wq']
x='zz'
names.insert(0,x) #在0位置添加x
for i in range(0,len(names)):
    print(names[i]+'你好!')

~使用insert()将一位新嘉宾添加到名单中间

names=['zsy','wq']
x='zz'
y=int(len(names)/2)
names.insert(y,x)
for i in range(0,len(names)):
    print(names[i]+'你好!')

~使用append()将一位新嘉宾添加到名单末尾

names=['zsy','wq']
x='zz'
names.append(x)
for i in range(0,len(names)):
    print(names[i]+'你好!')

~打印一系列消息对每位嘉宾发出邀请

6.缩减名单

以练习5完成的程序为基础,在末尾添加一行代码打印一条你只能邀请两位嘉宾共进晚餐的消息。

~使用pop()不断地删除名单中的嘉宾,直到只剩下两位嘉宾为止。每次删除一位嘉宾时,都打印一条消息,让该嘉宾知道你的歉意,无法邀请ta来共进晚餐

names=['a','b','c','d','e','f']

while int(len(names))>2:
    names.pop()
    print(names[int(len(names))-1]+' sorry')

~对于剩下的两位嘉宾,都打印一条消息,指出ta依然在首要人之列

names=['a','b','c','d','e','f']

while int(len(names))>2:
    names.pop()
    print(names[int(len(names))-1]+' sorry')

for i in range(0,int(len(names))):
    print(names[i]+' is still in our list')

~使用del将最后两位嘉宾从名单中删除,让名单变成空的。打印该名单,核实改程序结束时名单确实是空的

names=['a','b','c','d','e','f']

while int(len(names))>2:
    names.pop()

del names[0:int(len(names))]

if int(len(names))>0:
    print('List is not empty!')
else:
    print('List is empty!')

7.放眼世界

想出至少5个你渴望去旅行的地方。将这些名字存储在一个列表之中,并确保其中元素不是按字母顺序排列的。

~按照原始顺序打印每一个元素

l=['Bei jing','Yun Nan','Zhe Jiang','Hua Shan','Hong kong']
for i in range(0,int(len(l))):
    print(l[i]+' is where I want to visit!')

~使用sorted()方法按字母顺序打印这个列表,同时不要修改它

sorted()作为一个内置库的函数可以创建一个临时序列,用法如下:

sorted(list)

效果:

按升序返回包含可迭代对象中的所有项的新列表。可以提供自定义键函数来自定义排序顺序,并且可以设置反向标志以降序请求结果。

若想调整为降序,加入参数reverse=True即sorted(list, reverse=True)

l=['Bei jing','Yun Nan','Zhe Jiang','Hua Shan','Hong kong']
print(sorted(l))

~使用sorted()按照字符相反顺序输出列表的所有元素,并且不改变原始列表

l=['Bei jing','Yun Nan','Zhe Jiang','Hua Shan','Hong kong']
print(sorted(l,reverse=True))

~打印一遍原始列表

~使用reverse()修改原始列表为倒序,并打印

l=['Bei jing','Yun Nan','Zhe Jiang','Hua Shan','Hong kong']
l.reverse()
print(l)

~再次使用reverse()又重新变为原始的列表,并打印

l=['Bei jing','Yun Nan','Zhe Jiang','Hua Shan','Hong kong']
l.reverse()
l.reverse()
print(l)

~使用sort()修改列表为字母顺序的排列,并打印

l=['Bei jing','Yun Nan','Zhe Jiang','Hua Shan','Hong kong']
l.sort()
print(l)

~使用sort()修改列表为字母反序的排列,并打印

(提示:sort()方法也有reverse参数)

l=['Bei jing','Yun Nan','Zhe Jiang','Hua Shan','Hong kong']
l.sort(reverse=True)
print(l)

 

8.外星人颜色

假设在游戏中刚射杀了一个外星人,请创建一个名为AlienColor(或者alien_color)的变量,并赋值为'green', 'yellow', 或'red'。

编写一条if语句,判断外星人是否是绿色的,如果是,则打印消息,玩家获得了5分。

AlienColor='green'
if AlienColor=='green':
    print('You get five scores!')

9.外星人2

像练习1一样设置外星人的颜色,并编写一个if-else的结构。

·如果外星人是绿色的,则输出一条消息,指出玩家因射杀该外星人获得5分。

·如果外星人不是绿色,则输出该玩家获得10分。

AlienColor='green'
if AlienColor=='green':
    print('You get five scores!')
else:
    print('You get ten scores!')

10.外星人的颜色3

将练习2的结构改为if-elif-else结构

·如果外星人是绿色,输出玩家获得5分;

·如果外星人是黄色,输出玩家获得10分;

·如果外星人是红色,输出玩家获得15分;

AlienColor=input()
if AlienColor=='green':
    print('You get five scores!')
elif AlienColor=='yellow':
    print('You get ten scores!')
elif AlienColor=='red':
    print('You get fifteen scores!')

11.人生的不同阶段

设置变量age的值,再编写一个if-elif-else结构,根据age的值判断一个人处于人生的什么阶段?

·如果年龄小于2岁,指出这个人是婴儿;

·2(含)~ 4岁,指出这个人是幼儿;

·4(含)~ 13岁,指出这个人是儿童;

·13(含)~ 18岁,指出这个人是青少年;

·18(含)~ 65岁,指出这个人是成年人;

·大于65岁,指出这个人是老年人;

age=int(input())
if age<2:
    print('He is a young baby!')
elif age>=2 and age<4:
    print('He is a baby!')
elif age>=4 and age<13:
    print('He is a child!')
elif age>=13 and age<18:
    print('He is a teenager!')
elif age>=18 and age<65:
    print('He is an adult!')
else:
    print('He is an elder!')

12.思考如何判断序列(例如列表)为空?

·构造一个空序列,使用if语句,若序列为空则输出Empty。

a=[]
if len(a)==0:
    print('List is empty!')
else:
    print('List is not empty!')

13.多维列表

已构造一个多维列表,要求第一个为字符串,第二个元素为一维元组,第三个为二维集合,第四个则为三维字典。将该列表的所有元素遍历打印出来。(字典需要输出键值对)。

列表如下:["str, 12345", ('tunpe', 2) ,{'dict':{'dict': {'dict': 4}}}]

a = ["str, 12345", ('tunpe', 2) ,{'dict':{'dict': {'dict': 4}}}]
for i in range(len(a)):
    if i == 0:
        print(a[i], end=' ')
    elif i == 1:
        for j in a[i]:
            print(j, end=' ')
    elif i == 2:
        for k1, v1 in a[i].items():
            print(f"key: {k1}, value: {v1}")
            for k2, v2 in v1.items():
                print(f"key: {k2}, value: {v2}")
                for k3, v3 in v2.items():
                    print(f"key: {k3}, value: {v3}", end=' ')
    print()

14.字典序的应用

一直两个同顺序序列,分别为某些人的姓名,十年前的年龄,请将两序列打包为字典,要求使用字典推导式,要求最后得到一个类似如下的字典:

{'name': 'NowAge'},即姓名和现在的年龄。

name = ['zsy', 'wq', 'zz']
age = [100, 200, 300]
info = {k:v + 10 for k, v in zip(name, age)}
for k, v in info.items():
    print(f"Name: {k}, NowAge: {v}")

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值