Python学习之路11-20题目

学python已有半年之久,刚开始发博客,先给大家分享100道基础题目,后面会后续给大家分享python的基础的知识,在这里分享11-20题,请大家多多关注,一起共同努力。
11、问题:
编写一个程序,它接受一系列以逗号分隔的4位二进制数作为输入,然后检查它们是否可被5整除。可被5整除的数字将按逗号分隔的顺序打印。

例子:

0100,0011,1010,1001

那么输出应该是:

1010

value = []
items=[x for x in input().split(',')]
for p in items:
    intp = int(p, 2)#这里指的是对p进行2进制
    if not intp%5:
        value.append(p)

print(','.join(value))

12、问题:

编写一个程序,找出1000到3000之间的所有数字(包括这两个数字),使每个数字都是偶数。

获得的数字应以逗号分隔的顺序打印在一行上。

ls = []
for i in range(1000,3001):
    if (i%2==0):
        ls.append(i)
print (ls)

13、问题:
编写一个接受句子并计算字母和数字的程序。

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

hello world! 123

那么,输出应该是:

LETTERS 10
DIGITS 3

s = input('输入内容:')
d={"DIGITS":0, "LETTERS":0}#这里用到了字典
for c in s:
    if c.isdigit():
        d["DIGITS"]+=1
    elif c.isalpha():
        d["LETTERS"]+=1
    else:
        pass#占位符号
print("LETTERS", d["LETTERS"])
print("DIGITS", d["DIGITS"])

14、问题:
编写一个接受句子的程序,计算大写字母和小写字母的数目。

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

Hello world!
那么,输出应该是:

UPPER CASE 1
LOWER CASE 9

ls = input("输入的内容:")
up = 0
low = 0
for i in ls:    
    if i.isupper():  
        up += 1
    elif i.islower():
        low += 1
    else: 
        pass
print ("UPPER CASE " + str(up))
print ("LOWER CASE " + str(low))

15、问题:
编写一个程序,用一个给定的数字作为a的值来计算a+aa+aaa+aaaa的值。

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

9

那么,输出应该是:

11106

a=int(input("input a:"))
b=a*10 +a
c=a*100+b
d=a*1000+c
e=a+b+c+d
print(e)

16、问题:
使用列表理解将列表中的每个奇数平方。列表由一系列逗号分隔的数字输入。

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

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

那么,输出应该是:

1,3,5,7,9

values = input('输入的内容:')
numbers = [x for x in values.split(",") if int(x)%2!=0]
print (",".join(numbers))

17、问题:
编写一个程序,根据控制台输入的事务日志计算银行帐户的净额。事务日志格式如下:

D 100
W 200

D表示存款,W表示取款。

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

D 300
D 300
W 200
D 100

那么,输出应该是:

500

netAmount = 0
while True:#无限循环
    s = raw_input()
    if not s:
        break
    values = s.split(" ")
    operation = values[0]
    amount = int(values[1])#因为这里是字符串,所以要转化成int型
    if operation=="D":
        netAmount+=amount
    elif operation=="W":
        netAmount-=amount
    else:
        pass
print(netAmount)

18、问题:
网站要求用户输入用户名和密码才能注册。编写程序检查用户输入密码的有效性。
以下是检查密码的条件:
1。[a-z]之间至少有一个字母
2。在[0-9]之间至少有一个数字
1。[A-Z]之间至少有一个字母
3。[$#@]中至少有一个字符
4。交易密码最短长度:6
5。交易密码的最大长度:12
您的程序应该接受一系列逗号分隔的密码,并将根据上述标准进行检查。
将打印符合条件的密码,每个密码用逗号分隔。
例子
如果以下密码作为程序的输入:
ABd1234@1,a F1#,2w3E*,2We3345
那么,程序的输出应该是:
ABd1234@1

import re
value = []
items=[x for x in input('输入的内容:').split(',')]
for p in items:
    if len(p)<6 or len(p)>12:
        continue
    else:
        pass
    if not re.search("[a-z]",p):
        continue
    elif not re.search("[0-9]",p):
        continue
    elif not re.search("[A-Z]",p):
        continue
    elif not re.search("[$#@]",p):
        continue
    elif re.search("\s",p):
        continue
    else:
        pass
    value.append(p)
print (",".join(value)

19、问题:
您需要编写一个程序来按升序对(name,age,height)元组进行排序,其中name是string,age和height是数字。元组由控制台输入。排序条件为:

1:按名称排序;

2:然后按年龄排序;

3:然后按分数排序。

优先考虑的是名字>年龄>分数。

如果将下列元组作为程序的输入:

Tom,19,80
John,20,90
Jony,17,91
Jony,17,93
Json,21,85

那么,程序的输出应该是:

[(‘John’, ‘20’, ‘90’), (‘Jony’, ‘17’, ‘91’), (‘Jony’, ‘17’, ‘93’), (‘Json’, ‘21’, ‘85’), (‘Tom’, ‘19’, ‘80’)]

l = []
while True:
    s = input('输入的内容')
    if not s:
        break
    l.append(tuple(s.split(",")))

print(sorted(l, key=itemgetter(0,1,2)))

20、问题:
使用生成器定义一个类,该生成器可以在给定范围0和n之间迭代可被7整除的数字。

def putNumbers(n):
    i = 0
    while i<n:
        j=i
        i=i+1
        if j%7==0:
            yield j

for i in reverse(100):
    print(i)

代码都运行过了,如果有什么问题,记得下方评论,大家记得关注哦,一起共同努力!

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值