6.14练习

该篇博客探讨了如何使用Python处理进制转换,特别是针对4位二进制数判断是否能被5整除。此外,还展示了寻找1000到3000之间每个数字是否全由偶数组成的方法。通过示例代码,解释了如何从输入的二进制序列中筛选出可被5整除的数字,并以逗号分隔的形式输出。同时,还讨论了在给定范围内查找所有数字,其每一位都是偶数的情况,并将符合条件的数字以列表形式展示。
摘要由CSDN通过智能技术生成

q11:

'''Question:
Write a program which accepts a sequence of comma separated 4 digit binary numbers 
as its input and then check whether they are divisible by 5 or not. 
The numbers that are divisible by 5 are to be printed in a comma separated sequence.
Example:
0100,0011,1010,1001
Then the output should be:
1010
Notes: Assume the data is input by console.

'''
a="0100,0011,1010,1001"
a_=list(a.split(","))
s=[]
print(a_)
for i in a_:

	z=int(i[0])*(2**3)+int(i[1])*(2**2)+int(i[2])*2+int(i[3])
	s.append(z)
print(s)
z=[]
jieguo=[]
for i in s:
	i=int(i)
	if i % 5 == 0:
		m=s.index(i)
		z.append(i)
		jieguo.append(a_[m])
print(z)
print(jieguo)

#方法二
value = []
items=[x for x in raw_input().split(',')]
for p in items:
    intp = int(p, 2)
    if not intp%5:
        value.append(p)

print ','.join(value)

总结:对于转换进制的问题,python中int可以直接进行转换
int 可以将 2 进制到 36 进制的字符串、字节串或者字节数组实例转换成对应的 10 进制整数。具体的调用形式为:int(x, base=10),其中 x 即为字符串、字节串或字节数组的实例。

q12:

"""Question:
Write a program, which will find all such numbers between 1000 and 3000 (both included) 
such that each digit of the number is an even number.
The numbers obtained should be printed in a comma-separated sequence on a single line.
"""

o=list(range(1000,3001))
z=[0,2,4,6,8]
s=[]
for i in o:
	n=0
	i=str(i)
	x=[int(a) for a in i]
	for a in x:
		if a in z:
			n+=1
			if n==4:
				s.append(i)
			continue
		else:
			break
print(s)

#方法二
values = []
for i in range(1000, 3001):
    s = str(i)
    if (int(s[0])%2==0) and (int(s[1])%2==0) and (int(s[2])%2==0) and (int(s[3])%2==0):
        values.append(s)
print ",".join(values)

总结:range函数直接打印,无法打印出来,需要先转换成列表形式
将整数拆分,若m为一个两位以上数字,可以用for a in m 提取
在一个循环中不可以一直用i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值