三元表达式篇,python 入门教程之每日 5 or 6 道题 | Python 技能树题库

Posted 梦想橡皮擦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三元表达式篇,python 入门教程之每日 5 or 6 道题 | Python 技能树题库相关的知识,希望对你有一定的参考价值。

本篇博客主要为 https://bbs.csdn.net/skill/python 频道练习题模块补充题目,暂定每天提供 5 or 6 道测试题,后面可能会更多哦~。

本篇博客对【进阶语法】→**【三元表达式】**进行出题。

以下题目,默认将正确答案,放置在选项 A 位置

知识点:python 三元表达式

第 1 题:

题目难度:1 星
题干(问题描述):
对下述列表进行过滤,获取 3 的倍数

my_list = list(range(1, 101))

选项 A:

my_list = list(range(1, 101))

def mult_3(n):
    return True if n % 3 == 0 else False

result = list(filter(mult_3, my_list))
print(result)

选项 B:

my_list = list(range(1, 101))


def mult_3(n):
    return True if n // 3 == 0 else False


result = list(filter(mult_3, my_list))
print(result)

选项 C:

my_list = list(range(1, 101))

def mult_3(n):
    return True if n % 3 == 0 else return False

result = list(filter(mult_3, my_list))
print(result)

选项 D:

my_list = list(range(1, 101))

def mult_3(n):
    return True if n % 3 == 0

result = list(filter(mult_3, my_list))
print(result)

正确答案:A

第 2 题:

题目难度:2 星
题干(问题描述):
请使用列表推导式与三元表达式,实现对下述列表的筛选,要求为将小于 30 的元素,设置为 30,并输出列表。

my_list = [12, 27, 34, 56, 60]

选项 A:

my_list = [12, 27, 34, 56, 60]
temp = [item if item > 30 else 30 for item in my_list]
print(temp)

选项 B:

my_list = [12, 27, 34, 56, 60]
temp = [lambda item: item if item > 30 else 30 for item in my_list]
print(temp)

选项 C:

my_list = [12, 27, 34, 56, 60]
temp = [item if item > 30 else item < 30 return 30 for item in my_list]
print(temp)

选项 D:

my_list = [12, 27, 34, 56, 60]
temp = [item if item > 30 else return 30 for item in my_list]
print(temp)

正确答案:A

第 3 题:

题目难度:2 星
题干(问题描述):
以下都为 python 中三元表达式的写法,请选出不能输出大于等于 60为合格的代码。本题包含三元表达式旧式写法。

选项 A:

my_val = 66
print("合格" if my_val >= 60 else return "不及格")

选项 B:

my_val = 66
temp = (my_val >= 60) and "合格" or "不合格"

print(temp)

选项 C:

my_val = 66
temp = ("不合格", "合格")[my_val >= 60]

print(temp)

选项 D:

my_val = 66
temp = {True: "合格", False: "不合格"}[my_val >= 60]

print(temp)

正确答案:A

第 4 题:

题目难度:2 星
题干(问题描述):
通过 python 中三元表达式的嵌套,实现对 2 个数字大小的判断,例如 a<b 输出 1-1a>b 输出 1a=b 输出 0

选项 A:

def cmp(a, b):
    return 0 if a == b else 1 if a > b else -1


temp1 = cmp(2, 3)
print(temp1)

选项 B:

def cmp(a, b):
    return 0 if a < b else 1 if a == b else -1


temp1 = cmp(2, 3)
print(temp1)

选项 C:

def cmp(a, b):
    return 0 if a < b else 1 if a > b else -1


temp1 = cmp(2, 3)
print(temp1)

选项 D:

def cmp(a, b):
    return 1 if a == b else 0 if a > b else -1


temp1 = cmp(5, 5)
print(temp1)

正确答案:A

第 5 题:

题目难度:2 星
题干(问题描述):
下述哪个选项可以输出 赞赞&CSDN

选项 A:

temp = "" if False else "CSDN"
compliments = "赞赞&"
print(compliments + temp)

选项 B:

compliments = "赞赞&"
print(compliments + "" if False else "CSDN")

选项 C:

compliments = "赞赞&"
print((compliments + "") if True else "CSDN")

选项 D:
都不可以

正确答案:A

试题仓库地址如下:

https://codechina.csdn.net/hihell/question

以上是关于三元表达式篇,python 入门教程之每日 5 or 6 道题 | Python 技能树题库的主要内容,如果未能解决你的问题,请参考以下文章

day4_python之三元表达式列表推导式生成器表达式

python 入门教程之每日 5 or 6 道题,列表推导式篇 | Python 技能树题库

常用标准库 random,python 入门教程之每日 5 or 6 道题 | Python技能树征题

python入门基础-三元表达式命名空间作用域函数名本质闭包

python之三元表达式和生成式

Python学习笔记-函数进阶之三元表达式匿名函数内置函数