Python编程练习与解答 练习70:奇偶校验位

       奇偶校验位是一种简单机制,用于监测通过不可靠的连接传输的数据中的错误,基本思想是在每组8位之后传输一个额外的位,这样就可以监测传输中的单个错误。

        奇偶校验位既可计算为偶校验位,也可计算为奇校验位。如果选择偶校验位,则选择所传输的奇偶校验位,使所传输的“1”位(8位数据加上奇偶校验位)的总数为偶数。当奇数奇偶校验被选择时,奇偶校验位被选择,这样传送的“1”位的总数是奇数。

       编写一个程序,使用偶数奇偶校验为用户输入的一组8位计算奇偶校验位。程序应该读取包含8位的字符串,直到用户输入空行为止。在用户输入每个字符串之后,程序应该显示一条明确的消息,指示奇偶校验位应该是0还是大。如果用户输入的不是8位,则显示适当的错误消息。

tips:

#选择校验方法,“1”奇数校验法,“2”偶数校验法
method=int(input("请选择校验方法"))
if method==1:
    print("您选择了奇数校验法")
    # 第一次输入字符串
    str1 = input("请输入字符串")
    # 开始循环
    while str1 != "":
        # 确定字符串长度
        if str1.count("0") + str1.count("1") != 8 or len(str1) != 8:
            print("您输入的信息有误")
        else:
            num = str1.count("1")
            if num % 2 == 0:
                print("后面应输入1")
            else:
                print("后面应输入0")
        str1 = input("请输入字符串")
else:
    print("您选择了偶数校验法")
    # 第一次输入字符串
    str1 = input("请输入字符串")
    # 开始循环
    while str1 != "":
        # 确定字符串长度
        if str1.count("0") + str1.count("1") != 8 or len(str1) != 8:
            print("您输入的信息有误")
        else:
            num = str1.count("1")
            if num % 2 == 0:
                print("后面应输入0")
            else:
                print("后面应输入1")
        str1 = input("请输入字符串")

                 

 

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值