前言:

1、以后每天会在文末附上第二天的题目,可以提前写写,打开思路;

2、遇到不懂的地方可以多看看注释和相关知识点部分;

3、每题至少会给出两个写法,可根据自身情况学习掌握;

4、量不在多,需持之以恒!

目录:

Question 16

1、Question:

2、Solution

2.1 列表推导式和字符串的join方法

2.2 列表推导式、append方法和字符串的join方法

Question 17

1、Question:

2、Solution

2.1 map函数

2.2 strip函数

2.3 列表推导式(三元表达式+迭代器)

2.4 直接替换为字符串再转int

2.5 split函数转列表

2.6 Python 2

3、相关知识点

3.1 三元表达式

【Next Question】

Question 18

Question:

Question 161、Question:

使用列表理解,将列表中的每个奇数平方。该列表由一系列逗号分隔的数字输入.

input:

1,2,3,4,5,6,7,8,9

output:

1,9,25,49,81

2、Solution2.1 列表推导式和字符串的join方法

lst = [str(int(i)**2) for i in input().split(',') if int(i) % 2]
print(",".join(lst))

2.2 列表推导式、append方法和字符串的join方法


lst = input().split(',')

seq = []
lst = [int(i) for i in lst] # 将字符串转换为整数
for i in lst:
if i%2 != 0:
i = i*i
seq.append(i)


seq = [str(i) for i in seq] # 所有整数都转换为字符串,以便能够应用连接操作
print(",".join(seq))

Question 171、Question:

编写一个程序,根据控制台输入的交易日志计算银行账户的净额。交易日志格式如下所示:

D 100
W 200

假设向程序提供了以下输入:

D 300
D 300
W 200
D 100

output:_

500

2、Solution2.1 map函数

total = 0
while True:
s = input().split()
if not s: # 如果字符串为空,则中断
break
cm,num = map(str,s) # 两个输入在字符串数据类型中以cm和num形式分布

if cm=='D':
total+=int(num)
if cm=='W':
total-=int(num)

print(total)

2.2 strip函数


lst = []
while True:
x = input()
if len(x)==0:
break
lst.append(x)

balance = 0
for item in lst:
if 'D' in item:
balance += int(item.strip('D '))
if 'W' in item:
balance -= int(item.strip('W '))
print(balance)

2.3 列表推导式(三元表达式+迭代器)

lines = []
while True:
loopInput = input()
if loopInput == "done":
break
else:
lines.append(loopInput)

lst = list(int(i[2:]) if i[0] == 'D' else -int(i[2:]) for i in lines)
print(sum(lst))

列表推导式

[expression for item in iterable]

expression 表示要对迭代器中的每个元素进行求值的表达式,item 表示迭代器中的每个元素,iterable 表示要迭代的对象。

三元表达式

int(i[2:]) if i[0] == ‘D’ else -int(i[2:])

使用了三元表达式,根据字符串 i 的第一个字符是否为字母 D 来判断要对字符串进行什么样的操作。如果 i 的第一个字符为字母 D,则截取字符串 i 从第二个字符开始到结尾的子字符串,并将其转换为整数;否则,截取字符串 i 从第二个字符开始到结尾的子字符串,并将其转换为整数后取相反数。

迭代器

for i in lines

表示对列表 lines 中的每个元素进行迭代,将其分别赋值给变量 i。

2.4 直接替换为字符串再转int

transactions = []

while True:
text = input("> ")
if text:
text = text.strip('D ')
text = text.replace('W ', '-')
transactions.append(text)
else:
break

transactions = (int(i) for i in transactions)
balance = sum(transactions)
print(f"Balance is {balance}")

2.5 split函数转列表

money = 0
while 1:
trans = input().split(' ')
if trans[0] == 'D':
money = money + int(trans[1])
elif trans[0] == 'W':
money = money - int(trans[1])
elif input() == '':
break
print(f'Your current balance is: {money}')

2.6 Python 2

import sys
netAmount = 0
while True:
s = raw_input()
if not s:
break
values = s.split(" ")
operation = values[0]
amount = int(values[1])
if operation=="D":
netAmount+=amount
elif operation=="W":
netAmount-=amount
else:
pass
print netAmount

3、相关知识点3.1 三元表达式

三元表达式是 Python 中的一种简洁的条件表达式,也被称为条件运算符。它的语法形式如下:

x if condition else y

其中,condition是一个布尔表达式python判断字符串为空,如果为真,则返回x,否则返回y。在这种形式下,三元表达式相当于一个简单的 if-else 语句。

下面是一个简单的示例,用于比较两个数的大小并输出结果:

a = 10
b = 20
print("a is bigger" if a > b else "b is bigger")

在上述示例中,如果变量a的值大于变量b的值python判断字符串为空,则输出字符串”a is bigger”,否则输出字符串”b is bigger”。

三元表达式在 Python 中被广泛地应用于需要简洁的条件语句的场合,例如对列表、字典等数据结构进行筛选、过滤等操作时。

【Next Question】Question 18Question:

网站要求用户输入用户名和密码才能注册。编写一个程序来检查用户输入的密码的有效性.

以下是检查密码的标准:

您的程序应该接受一系列逗号分隔的密码,并将根据上述标准进行检查。要打印符合标准的密码,每个密码用逗号分隔。

Example

如果以下密码作为程序的输入:

ABd1234@1,a F1#,2w3E*,2We3345

output:

ABd1234@1

python判断字符串为空_c 判断字符是否为字母_python判断是否为整数

c 判断字符是否为字母_python判断字符串为空_python判断是否为整数

END

往期精彩回顾

限时特惠:本站每日持续更新海量设计资源,一年会员只需29.9元,全站资源免费下载
站长微信:ziyuanshu688