学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)
代码都运行过了,如果有什么问题,记得下方评论,大家记得关注哦,一起共同努力!