牛客题霸在线编程Python题库——Python入门到实践40招(四)(五)(六)循环语句 条件语句 元组

简介: 牛客题霸在线编程Python题库——Python入门到实践40招(四)(五)(六)循环语句 条件语句 元组

(四)循环语句


14.字符列表的长度 (中等)

创建一个依次包含字符串'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)
print()
print('The number that my_list has is:')
print(len(my_list))


运行


 Here is the original list:
['P', 'y', 't', 'h', 'o', 'n']
The number that my_list has is:
6


15.程序员节(中等)


牛牛、牛妹和牛可乐都是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!"


users_list = [ 'Niuniu' ,'Niumei' , 'Niu Ke Le']
for name in users_list:
    print(f"Hi, {name}! Welcome to Nowcoder!")
print("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!


16.累加和与平均数(简单)


创建一个列表my_list,其中包含[1, 1 000]中的所有整数,再使用 min() 和 max() 核实该列表确实是从 1 开始,到 1 000 结束的。此外,再对这个列表调用函数 sum(),看看 Python 将这一千个数字相加得到的结果是多少。最后,对这个列表的所有整数求取平均值,直接保留一位小数。


my_list = list(range(1, 1001))
print(min(my_list))
print(max(my_list))
print(sum(my_list))
print(sum(my_list)/1000)


运行


1
1000
500500
500.5


17.前十个偶数(简单)


通过给函数 range()指定第三个参数来创建一个列表my_list,其中包含 [0, 19]  中的所有偶数;再使用一个 for 循环将这些数字都打印出来(每个数字独占一行)。


my_list = list(range(0,20,2))
for i in my_list:
    print(i)


运行


0
2
4
6
8
10
12
14
16
18


18.被5整除的数字(简单)


创建一个列表my_list,其中包括 [1, 50] 内全部能被5整除的数字;再使用一个 for 循环将这个列表中的数字都打印出来(每个数字独占一行)。


my_list = list(range(5,51,5))
for i in my_list:
    print(i)


运行


5
10
15
20
25
30
35
40
45
50


19.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 j in my_list:
    print(j)


运行


2
4
8
16
32
64
128
256
512
1024


20.立方解析(入门)


使用列表解析生成一个列表my_list,其中包含前 10 个整数(也即[1, 10])的立方。再直接使用print()语句把刚刚创建的列表my_list整个打印出来(以列表形式,也即两边带方括号)。


my_list = []
for i in range(1,11):
    my_list.append(i**3)
print(my_list)


运行


[1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]


21.团队分组(简单)


创建一个列表group_list,其中依次包含字符串 'Tom', 'Allen', 'Jane', 'William', 'Tony' 表示这个小组成员的名字。现有三项任务需要他们去完成,根据不同任务的繁琐度和实际情况需要分别派2人、3人、2人来完成,他们决定通过对列表分片来分配任务。


使用print()语句和切片来打印列表group_list的前两个元素表示去做第一个任务的人的名字,

再使用print()语句和切片来打印列表group_list的中间三个元素表示去做第二个任务的人的名字,

再使用print()语句和切片来打印列表group_list的后两个元素表示去做第三个任务的人的名字。


group_list = ['Tom', 'Allen', 'Jane', 'William', 'Tony']
print(group_list[0:2])
print(group_list[1:4])
print(group_list[3:5])


运行


1. ['Tom', 'Allen']
2. ['Allen', 'Jane', 'William']
3. ['William', 'Tony']


(五)条件语句


22.找到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!')


运行


Hi, Niuniu! Welcome to Nowcoder!
Hi, Niumei! Welcome to Nowcoder!
Hi, HR! Would you like to hire someone?
Hi, Niu Ke Le! Welcome to Nowcoder!
Hi, GURR! Welcome to Nowcoder!
Hi, LOLO! Welcome to Nowcoder!


23.判断列表是否为空(入门)


创建一个空列表my_list,如果列表为空,请使用print()语句一行输出字符串'my_list is empty!',否则使用print()语句一行输出字符串'my_list is not empty!'。


my_list = []
if my_list:
    print('my_list is not empty!')
else:
    print('my_list is empty!')


运行


my_list is empty!


24.禁止重复注册(中等)


创建一个依次包含字符串'Niuniu'、'Niumei'、'GURR'和'LOLO'的列表current_users,再创建一个依次包含字符串'GurR'、'Niu Ke Le'、'LoLo'和'Tuo Rui Chi'的列表new_users,使用for循环遍历new_users,如果遍历到的新用户名在current_users中,则使用print()语句一行输出类似字符串'The user name GurR has already been registered! Please change it and try again!'的语句,否则使用print()语句一行输出类似字符串'Congratulations, the user name Niu Ke Le is available!'的语句。(注:用户名的比较不区分大小写)


current_users = ['Niuniu','Niumei','GURR','LOLO']
new_users = ['GurR','Niu Ke Le','LoLo','Tuo Rui Chi']
for i in new_users:
    if i.upper() in current_users:
        print(f'The user name {i} has already been registered! Please change it and try again!')
    else:
        print(f'Congratulations, the user name {i} is available!')


运行


The user name GurR has already been registered! Please change it and try again!
Congratulations, the user name Niu Ke Le is available!
The user name LoLo has already been registered! Please change it and try again!
Congratulations, the user name Tuo Rui Chi is available!


25.食堂点餐(中等)


某食堂今天中午售卖 'pizza':10块钱一份,'rice' :2块钱一份,'yogurt':5块钱一份,剩下的其他菜品都是8块钱一份。请创建如下一个order_list记录点单情况:['rice', 'beef', 'chips', 'pizza', 'pizza', 'yogurt', 'tomato', 'rice', 'beef']然后使用for循环遍历列表order_list,使用if-elif-else结构依次打印每份菜品及其价格,且每个菜品都独占一行,按照'beef is 8 dollars'的形式。并且在遍历过程中将价格相加,求对于这些点单记录,食堂总共营业收入多少?(单独输出一个整数)


order_list = ['rice', 'beef', 'chips', 'pizza', 'pizza', 'yogurt', 'tomato', 'rice', 'beef']
all = 0
price = 0
for i in order_list:
    if i == 'pizza':
        print(f"{i} is 10 dollars")
        price = 10
    elif i == 'rice':
        print(f"{i} is 2 dollars")
        price = 2
    elif i == 'yogurt':
        print(f"{i} is 5 dollars")
        price = 5
    else:
        print(f"{i} is 8 dollars")
        price = 8
    all = all + price
print(all)


运行


rice is 2 dollars
beef is 8 dollars
chips is 8 dollars
pizza is 10 dollars
pizza is 10 dollars
yogurt is 5 dollars
tomato is 8 dollars
rice is 2 dollars
beef is 8 dollars
61


(六)元组


26.牛客运动会(入门)


又到了一年一度的牛客运动会,Tom和Andy报名参加了项目,但由于比赛前一天,Andy喝了太多碳酸饮料,导致身体不适,所以临时让Allen上场了,换人参赛需要修改参赛名单,请完成以下内容模拟整个过程。请创建一个依次包含字符串'Tom'和'Andy'的元组my_tuple,


先使用print()语句一行打印字符串'Here is the original tuple:',再使用for循环将元组my_tuple的内容打印出来;请使用try-except代码块执行语句my_tuple[1] = 'Allen',若引发TypeError错误,先输出一个换行,再使用print()语句一行打印字符串"my_tuple[1] = 'Allen' cause cause a TypeError: 'tuple' object does not support item assignment";再重新对my_tuple赋值一个新元组,新元组依次由字符串'Tom'和'Allen'构成。输出一个换行,先使用print()语句一行打印字符串'The tuple was changed to:',再使用for循环将元组my_tuple的内容打印出来,确定修改无误。


my_tuple = ('Tom','Andy')
print('Here is the original tuple:')
for i in my_tuple:
    print(i)
try:
    my_tuple[1] = 'Allen'
except TypeError:
    print()
    print("my_tuple[1] = 'Allen' cause a TypeError: 'tuple' object does not support item assignment")
my_tuple = ('Tom','Allen')
print()
print('my_tuple was changed to:')
for i in my_tuple:
    print(i)


运行


Here is the original tuple:
Tom
Andy
my_tuple[1] = 'Allen' cause a TypeError: 'tuple' object does not support item assignment
my_tuple was changed to:
Tom
Allen
相关文章
|
14小时前
|
网络协议 网络架构 Python
Python 网络编程基础:套接字(Sockets)入门与实践
【5月更文挑战第18天】Python网络编程中的套接字是程序间通信的基础,分为TCP和UDP。TCP套接字涉及创建服务器套接字、绑定地址和端口、监听、接受连接及数据交换。UDP套接字则无连接状态。示例展示了TCP服务器和客户端如何使用套接字通信。注意选择唯一地址和端口,处理异常以确保健壮性。学习套接字可为构建网络应用打下基础。
17 7
|
1天前
|
网络协议 数据处理 调度
深入探索Python异步编程:asyncio库的应用与实践
在现代软件开发中,异步编程已成为处理并发和I/O密集型任务的重要策略。本文将带您深入探索Python的asyncio库,解析其背后的设计原理,并通过实例展示如何在实际项目中应用asyncio实现高效的异步编程。我们不仅会探讨asyncio的基本用法,还会分析其性能优势,并探讨其与其他并发模型的比较。此外,文章还将涵盖asyncio在Web开发、网络编程和数据处理等场景中的应用案例,帮助您更好地理解并掌握这一强大的异步编程工具。
|
1天前
|
Python
10个python入门小游戏,零基础打通关,就能掌握编程基础_python编写的入门简单小游戏
10个python入门小游戏,零基础打通关,就能掌握编程基础_python编写的入门简单小游戏
|
1天前
|
Web App开发 Ubuntu Linux
Linux无图形界面环境使用Python+Selenium实践
【5月更文挑战第1天】Linux无图形界面环境使用Python+Selenium实践
15 2
|
3天前
|
Python 索引 C语言
Python3从零基础到入门(2)—— 运算符-3
Python3从零基础到入门(2)—— 运算符
|
3天前
|
Python
Python3从零基础到入门(2)—— 运算符-2
Python3从零基础到入门(2)—— 运算符
Python3从零基础到入门(2)—— 运算符-2
|
3天前
|
Python C语言 存储
Python3从零基础到入门(2)—— 运算符-1
Python3从零基础到入门(2)—— 运算符
Python3从零基础到入门(2)—— 运算符-1
|
3天前
|
网络协议 Unix Python
Python编程-----网络通信
Python编程-----网络通信
8 1
|
3天前
|
JSON 数据格式 开发者
pip和requests在Python编程中各自扮演着不同的角色
【5月更文挑战第9天】`pip`是Python的包管理器,用于安装、升级和管理PyPI上的包;`requests`是一个HTTP库,简化了HTTP通信,支持各种HTTP请求类型及数据交互。两者在Python环境中分别负责包管理和网络请求。
32 5
|
3天前
|
存储 Python 容器
Python高级编程
Python集合包括可变的set和不可变的frozenset,用于存储无序、不重复的哈希元素。创建集合可使用{}或set(),如`my_set = {1, 2, 3, 4, 5}`。通过add()添加元素,remove()或discard()删除元素,如`my_set.remove(3)`。
14 0