Python刷题之循环语句(上)

35 阅读4分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第12天

  • NP49 字符列表的长度

描述

创建一个依次包含字符串'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()函数一行打印该整数。\

输入描述:

输出描述:

按题目描述进行输出即可(注意前后两个输出部分需以一个空行进行分隔)。

Here is the original list:
['P', 'y', 't', 'h', 'o', 'n']

The number that my_list has is:
6

代码如下:

my_list = ['P','y','t','h','o','n']
print('Here is the original list:',my_list,'','The number that my_list has is:',len(my_list),sep='\n')
  • NP50 程序员节

描述

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

输入描述:

输出描述:

按题目描述进行输出即可。

Hi, Niuniu! Welcome to Nowcoder!
Hi, Niumei! Welcome to Nowcoder!
Hi, Niu Ke Le! Welcome to Nowcoder!
Happy Programmers' Day to everyone!

参考代码如下:

user_list = ['Niuniu' ,'Niumei' , 'Niu Ke Le']
for i in user_list:
    print("Hi, %s! Welcome to Nowcoder!"%i)
print("Happy Programmers' Day to everyone!")
  • NP51 列表的最大与最小

描述:

牛牛刚学循环语句,你能教他使用for语句创建一个从10到50的数字列表吗?请输出完整列表,并输出列表的首尾元素检验是否是从10到50.

输入描述:

输出描述:

第一行输出完整列表。

第二行输出列表首元素和尾元素,空格间隔。

参考代码如下:

list = []
for i in range(10,51):
    list.append(i)
print(list)
#print(list[0],list[len(list)-1])
print(str(list[0])+" "+ str(list[-1]))
  • NP52 累加数与平均值

描述

牛牛有一个列表,记录了他和同事们的年龄,你能用for循环遍历链表的每一个元素,将其累加求得他们年龄的总和与平均数吗?

输入描述:

一行输入多个整数,以空格间隔。

输出描述:

输出年龄总和与平均数,平均数保留1位小数,两个数字以空格间隔。

示例1

image.png

参考代码如下:

age = input().split()
sum = 0
num = len(age)
for i in age:
    sum += int(i)
print(sum,'%.1f'% (sum/num))
#print(sum,f'{sum/num:.1f}')  # 格式化输出表达要学会多种使用

看到一个颇为优秀的解答

# 定义一个新列表
a = []
# 把输入的多个整数写入空列表
for i in input().split():
    a.append(int(i))
# 定义一个平均数的公式
avg = sum(a) / len(a)
# 用round函数保留1为小数
print(sum(a),round(avg,1))
  • NP53 前10个偶数

描述

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

输入描述:

输出描述:

按题目描述进行输出即可。

代码如下:

my_list = list(range(0,20,2))
for i in my_list:
    print(i)
  • NP54 被5整除的数字

描述

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

输入描述:

输出描述:

按题目描述进行输出即可。

参考代码如下:

my_list = list(range(1,51))
new_list = []
for i in my_list:
    if i%5 == 0:
        new_list.append(i)
    
for j in new_list:
    print(j)

好的代码:

my_list = [i for i in range(1, 51) if i % 5 == 0]

for i in my_list:
    print(i)
  • NP55 2的次方数

描述

在Python中, * 代表乘法运算, ** 代表次方运算。

请创建一个空列表my_list,使用for循环、range()函数和append()函数令列表my_list包含底数2的 [1, 10] 次方,再使用一个 for 循环将这些次方数都打印出来(每个数字独占一行)。

输入描述:

输出描述:

按题目描述进行输出即可。

参考代码如下:

list1 = list(range(1,11)) 
my_list = []
for i in list1:
    my_list.append(2**i)
    
for j in my_list:
    print(j)