下图给出了七段码数码管的一个图示,数码管中一共有 7 段可以发光的二 极管,分别标记为 a, b, c, d, e, f, g。小蓝要选择一部分二极管(至少要有一个)发光来表达字符。在设计字符 的表达时,要求所有发光的二极管是连成一片的。例如:bb 发光,其他二极管不发光可以用来表达一种字符。例如 c 发光,其他二极管不发光可以用来表达一种字符。这种方案与上 一行的方案可以用来表示不同的字符,尽管看上去比较相似。例如:a, b, c, d, e发光,f, g 不发光可以用来表达一种字符。例如:b, f发光,其他二极管不发光则不能用来表达一种字符,因为发光 的二极管没有连成一片。现在,给你一个数字(0-127),这个数字的二进制所表示的01字符串从低位到高位分别代表a-g,0表示灭,1表示亮。请你帮忙判断这个数字是否能表示有三个灯管发光,且相邻。可以表示输出“Yes”,反之输出“No”。
时间: 2023-02-13 16:04:59 浏览: 103
可以这样做:先把数字转换为二进制字符串,然后从字符串的第三位开始每隔两位检查一次,看看是否有三个连续的“111”,如果有,就输出“Yes”,反之输出“No”。
例如,对于数字119,它的二进制字符串是“1110111”,从第三位开始每隔两位检查一次,发现“111”,所以输出“Yes”。
代码如下:
```
num = 119
binary = bin(num)[2:] # 去掉开头的“0b”
if "111" in binary[2::2]:
print("Yes")
else:
print("No")
```
相关问题
今日程序:七段码\n小蓝要用七段码数码管来表示一种特殊的文字。\n上图给出了七段码数码管的一个图示,数码管中一共有 7 段可以发光的二 极管,分别标记为 a, b, c, d, e, f, g。\n小蓝要选
择合适的组合来表示特殊的文字,需要根据每个字母的七段码来进行匹配。七段码数码管是一种常见的数字显示器件,可以用于显示数字、字母等信息。在使用七段码数码管时,需要根据不同的字母或数字选择不同的组合方式,以便正确地显示出所需的信息。
小蓝要用七段码数码管来表示一种特殊的文字。 图片描述 上图给出了七段码数码管的一个图示,数码管中一共有 7 段可以发光的二 极管,分别标记为 a, b, c, d, e, f, ga,b,c,d,e,f,g。 小蓝要选择一部分二极管(至少要有一个)发光来表达字符。在设计字符 的表达时,要求所有发光的二极管是连成一片的。 例如:bb 发光,其他二极管不发光可以用来表达一种字符。 例如 cc 发光,其他二极管不发光可以用来表达一种字符。这种方案与上 一行的方案可以用来表示不同的字符,尽管看上去比较相似。 例如:a, b, c, d, ea,b,c,d,e 发光,f, gf,g 不发光可以用来表达一种字符。 例如:b, fb,f 发光,其他二极管不发光则不能用来表达一种字符,因为发光 的二极管没有连成一片。 请问,小蓝可以用七段码数码管表达多少种不同的字符?
小蓝可以用七段码数码管表达的不同的字符数量是 $2^7-1=127$ 种。
因为七段码数码管中一共有 7 段二极管,每段二极管都可以选择发光或不发光,所以可以表达 $2^7=128$ 种不同的情况。但是其中有一种情况是所有二极管都不发光,这种情况不能用来表示字符,所以实际可以表达的字符数量是 $2^7-1=127$ 种。
阅读全文