牛客题霸在线编程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
相关文章
|
8月前
|
SQL 关系型数据库 数据库
Python SQLAlchemy模块:从入门到实战的数据库操作指南
免费提供Python+PyCharm编程环境,结合SQLAlchemy ORM框架详解数据库开发。涵盖连接配置、模型定义、CRUD操作、事务控制及Alembic迁移工具,以电商订单系统为例,深入讲解高并发场景下的性能优化与最佳实践,助你高效构建数据驱动应用。
974 7
|
8月前
|
算法 Java Docker
(Python基础)新时代语言!一起学习Python吧!(三):IF条件判断和match匹配;Python中的循环:for...in、while循环;循环操作关键字;Python函数使用方法
IF 条件判断 使用if语句,对条件进行判断 true则执行代码块缩进语句 false则不执行代码块缩进语句,如果有else 或 elif 则进入相应的规则中执行
1489 1
|
9月前
|
测试技术 开发者 Python
Python单元测试入门:3个核心断言方法,帮你快速定位代码bug
本文介绍Python单元测试基础,详解`unittest`框架中的三大核心断言方法:`assertEqual`验证值相等,`assertTrue`和`assertFalse`判断条件真假。通过实例演示其用法,帮助开发者自动化检测代码逻辑,提升测试效率与可靠性。
599 1
|
8月前
|
Cloud Native 算法 API
Python API接口实战指南:从入门到精通
🌟蒋星熠Jaxonic,技术宇宙的星际旅人。深耕API开发,以Python为舟,探索RESTful、GraphQL等接口奥秘。擅长requests、aiohttp实战,专注性能优化与架构设计,用代码连接万物,谱写极客诗篇。
1734 1
Python API接口实战指南:从入门到精通
|
8月前
|
Python
Python编程:运算符详解
本文全面详解Python各类运算符,涵盖算术、比较、逻辑、赋值、位、身份、成员运算符及优先级规则,结合实例代码与运行结果,助你深入掌握Python运算符的使用方法与应用场景。
510 3
|
8月前
|
数据处理 Python
Python编程:类型转换与输入输出
本教程介绍Python中输入输出与类型转换的基础知识,涵盖input()和print()的使用,int()、float()等类型转换方法,并通过综合示例演示数据处理、错误处理及格式化输出,助你掌握核心编程技能。
733 3
|
8月前
|
并行计算 安全 计算机视觉
Python多进程编程:用multiprocessing突破GIL限制
Python中GIL限制多线程性能,尤其在CPU密集型任务中。`multiprocessing`模块通过创建独立进程,绕过GIL,实现真正的并行计算。它支持进程池、队列、管道、共享内存和同步机制,适用于科学计算、图像处理等场景。相比多线程,多进程更适合利用多核优势,虽有较高内存开销,但能显著提升性能。合理使用进程池与通信机制,可最大化效率。
548 3
|
8月前
|
存储 Java 索引
(Python基础)新时代语言!一起学习Python吧!(二):字符编码由来;Python字符串、字符串格式化;list集合和tuple元组区别
字符编码 我们要清楚,计算机最开始的表达都是由二进制而来 我们要想通过二进制来表示我们熟知的字符看看以下的变化 例如: 1 的二进制编码为 0000 0001 我们通过A这个字符,让其在计算机内部存储(现如今,A 字符在地址通常表示为65) 现在拿A举例: 在计算机内部 A字符,它本身表示为 65这个数,在计算机底层会转为二进制码 也意味着A字符在底层表示为 1000001 通过这样的字符表示进行转换,逐步发展为拥有127个字符的编码存储到计算机中,这个编码表也被称为ASCII编码。 但随时代变迁,ASCII编码逐渐暴露短板,全球有上百种语言,光是ASCII编码并不能够满足需求
359 4
|
8月前
|
存储 Java 调度
Python定时任务实战:APScheduler从入门到精通
APScheduler是Python强大的定时任务框架,通过触发器、执行器、任务存储和调度器四大组件,灵活实现各类周期性任务。支持内存、数据库、Redis等持久化存储,适用于Web集成、数据抓取、邮件发送等场景,解决传统sleep循环的诸多缺陷,助力构建稳定可靠的自动化系统。(238字)
1471 1
|
8月前
|
Java 调度 数据库
Python threading模块:多线程编程的实战指南
本文深入讲解Python多线程编程,涵盖threading模块的核心用法:线程创建、生命周期、同步机制(锁、信号量、条件变量)、线程通信(队列)、守护线程与线程池应用。结合实战案例,如多线程下载器,帮助开发者提升程序并发性能,适用于I/O密集型任务处理。
757 0

推荐镜像

更多