You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何在循环中逐位取输入字符实现英文转二进制功能

实现方案

核心优化逻辑

  • 无需手动编写26个字母+空格的判断分支,使用Python内置的ord()函数即可直接获取字符的ASCII编码,再通过format()方法转为8位补前导0的二进制字符串,完全覆盖你的需求
  • 逐字符提取直接利用字符串的可迭代特性/索引遍历即可实现,无需额外引入第三方依赖

逐字符处理代码实现

方案1:每次输入一行后,按顺序连续处理该行所有字符

import time

while True:
    input_str = input("Ltr:")
    # 按顺序遍历输入字符串的每一个字符
    for char in input_str:
        if char == ' ':
            print("        ")
        # 仅处理小写字母,其他字符可自行扩展规则
        elif 'a' <= char <= 'z':
            print(format(ord(char), '08b'))
        time.sleep(0.001)

方案2:每次while循环仅处理1个字符,处理完成后进入下一轮循环

如果你需要严格遵循「每次循环处理一个字符」的逻辑,处理完单个字符就结束当次循环,可以用索引记录当前处理位置:

import time

pending_str = ""
current_idx = 0

while True:
    # 待处理字符全部消费完后接收新的输入
    if current_idx >= len(pending_str):
        pending_str = input("Ltr:")
        current_idx = 0
    # 取当前位置的字符,索引后移一位
    char = pending_str[current_idx]
    current_idx += 1
    
    if char == ' ':
        print("        ")
    elif 'a' <= char <= 'z':
        print(format(ord(char), '08b'))
    time.sleep(0.001)

内容的提问来源于stack exchange,提问作者Manuel Pozzoni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 22:18:03