牛客题霸在线编程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
相关文章
|
28天前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
27天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
15天前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
102 80
|
4天前
|
Python
[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
本文介绍了Python编程中容易出现的问题,特别是函数名、类名和模块名的重新赋值。通过具体示例展示了将内建函数(如`print`、`int`、`max`)或模块名(如`os`)重新赋值为其他类型后,会导致原有功能失效。例如,将`print`赋值为整数后,无法再用其输出内容;将`int`赋值为整数后,无法再进行类型转换。重新赋值后,这些名称失去了原有的功能,可能导致程序错误。总结指出,已有的函数名、类名和模块名不适合覆盖赋新值,否则会失去原有功能。如果需要使用类似的变量名,建议采用其他命名方式以避免冲突。
26 14
|
14天前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
49 2
|
27天前
|
小程序 开发者 Python
探索Python编程:从基础到实战
本文将引导你走进Python编程的世界,从基础语法开始,逐步深入到实战项目。我们将一起探讨如何在编程中发挥创意,解决问题,并分享一些实用的技巧和心得。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的参考。让我们一起开启Python编程的探索之旅吧!
46 10
|
27天前
|
人工智能 数据挖掘 开发者
探索Python编程之美:从基础到进阶
本文是一篇深入浅出的Python编程指南,旨在帮助初学者理解Python编程的核心概念,并引导他们逐步掌握更高级的技术。文章不仅涵盖了Python的基础语法,还深入探讨了面向对象编程、函数式编程等高级主题。通过丰富的代码示例和实践项目,读者将能够巩固所学知识,提升编程技能。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的参考和启示。让我们一起踏上Python编程的美妙旅程吧!
|
机器学习/深度学习 人工智能 Python
|
2月前
|
存储 索引 Python
Python编程数据结构的深入理解
深入理解 Python 中的数据结构是提高编程能力的重要途径。通过合理选择和使用数据结构,可以提高程序的效率和质量
149 59
|
1月前
|
机器学习/深度学习 人工智能 Java
Python 语言:强大、灵活与高效的编程之选
本文全面介绍了 Python 编程语言,涵盖其历史、特点、应用领域及核心概念。从 1989 年由 Guido van Rossum 创立至今,Python 凭借简洁的语法和强大的功能,成为数据科学、AI、Web 开发等领域的首选语言。文章还详细探讨了 Python 的语法基础、数据结构、面向对象编程等内容,旨在帮助读者深入了解并有效利用 Python 进行编程。