从键盘输入一系列字符(以回车键结束),并按字母、数字及其它字符分类统计,最后显示这三类的统计结果

;从键盘输入一系列字符(以回车键结束),并按字母、数字及其它
;字符分类统计,最后显示这三类的统计结果
DATA SEGMENT
BUFFER DB 128,?,128 DUP(0)
NUM DB 0
WORDS DB 0
OTHER DB 0
CRLF DB 0AH,0DH,'$'
DATA ENDS

STACK SEGMENT PARA STACK
      DW 128 DUP(?)
TOP   LABEL WORD
STACK ENDS

CODE SEGMENT
     ASSUME CS:CODE,SS:STACK,DS:DATA
MAIN PROC FAR
START:
         MOV AX,DATA
MOV DS,AX
 
MOV AX,STACK
MOV SS,AX
LEA SP,TOP
 
XOR BL,BL
XOR BH,BH
XOR DH,DH
 
LEA DX,BUFFER
MOV AH,0AH
INT 21H
 
MOV AH,9
LEA DX,CRLF
INT 21H
 
         LEA SI,BUFFER
INC SI
MOV CL,[SI]
XOR CH,CH
L0: INC SI
MOV AL,[SI]
CMP AL,30H
JL  L1
CMP AL,39H
JA  L1
INC BL
JMP L4
L1:    CMP AL,'A'
         JL  L2
CMP AL,'Z'
JA  L2
INC BH
JMP L4
L2:    CMP AL,'a'
         JL  L3
CMP AL,'z'
JA  L3
INC BH
JMP L4
L3:    INC DH
L4:    LOOP L0
     
LEA DI,NUM
MOV [DI],BL
INC DI
MOV [DI],BH
INC DI
MOV [DI],DH
 
MOV CX,3
LEA SI,NUM
L5: MOV AH,2
MOV DL,[SI]
ADD DL,30H
INT 21H
INC SI
 
MOV AH,9
LEA DX,CRLF
INT 21H
 
LOOP L5
 
MOV AH,4CH
INT 21H
CODE ENDS
MAIN ENDP
     END START
     
  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 首先,我们需要从键盘输入一行字符,可以使用input()函数实现: line = input("输入一行字符:") 接下来,我们需要遍历这一行字符统计其中的英文字母数字字符、其他字符的个数。可以使用for循环和isalpha()、isdigit()函数实现: letter_count = # 英文字母个数 digit_count = # 数字字符个数 other_count = # 其他字符个数 for char in line: if char.isalpha(): # 判断是否为英文字母 letter_count += 1 elif char.isdigit(): # 判断是否为数字字符 digit_count += 1 else: # 其他字符 other_count += 1 最后,我们输统计结果: print("英文字母个数:", letter_count) print("数字字符个数:", digit_count) print("其他字符个数:", other_count-1) # 不统计最后回车符 ### 回答2: 在从键盘输入一行字符的情况下,需要使用Python中的input()函数来实现。该函数读取一行输入并返回其字符串表示形式。接下来,我们需要使用for循环遍历字符串中的每个字符,并使用isalpha()、isdigit()方法判断每个字符属于哪种类型的字符最后,我们创建三个变量分别保存英文字母数字字符和其他字符的数量,并在循环中更新它们。最后,输这三个变量的值即可。 以下是相应的Python代码: ```python str = input("输入一行字符:") letters = 0 digits = 0 others = 0 for i in str: if i.isalpha(): letters += 1 elif i.isdigit(): digits += 1 else: others += 1 print("英文字母的个数:", letters) print("数字字符的个数:", digits) print("其他字符的个数:", others) ``` 此代码段演示了如何从键盘输入一个字符串,并使用循环遍历这个字符串中的每个字符,并使用isalpha()和isdigit()方法检查每个字符是英文字母还是数字字符最后,使用变量存储每个类型的字符数量,并将其打印来。 ### 回答3: 首先,我们可以使用input函数从键盘输入一行字符,以回车结束,得到一个字符串。然后,我们可以遍历这个字符串,对每个字符进行判断,统计其中的英文字母数字字符、其他字符的个数。 具体步骤如下: 1. 使用input函数从键盘输入一行字符,以回车结束,得到一个字符串,例如: str = input("输入一行字符:") 2. 初始化三个计数器,分别表示英文字母数字字符、其他字符的个数: num_letter = 0 # 英文字母个数 num_digit = 0 # 数字个数 num_other = 0 # 其他字符个数 3. 遍历字符串中的每个字符,对每个字符进行判断: for i in str: if i.isalpha(): # 判断是否为英文字母 num_letter += 1 elif i.isdigit(): # 判断是否为数字字符 num_digit += 1 else: # 其他字符 num_other += 1 4. 输结果: print("英文字母个数为:{}".format(num_letter)) print("数字字符个数为:{}".format(num_digit)) print("其他字符个数为:{}".format(num_other)) 完整代码如下: str = input("输入一行字符:") num_letter = 0 # 英文字母个数 num_digit = 0 # 数字个数 num_other = 0 # 其他字符个数 for i in str: if i.isalpha(): # 判断是否为英文字母 num_letter += 1 elif i.isdigit(): # 判断是否为数字字符 num_digit += 1 else: # 其他字符 num_other += 1 print("英文字母个数为:{}".format(num_letter)) print("数字字符个数为:{}".format(num_digit)) print("其他字符个数为:{}".format(num_other)) 注意,最后其他字符的个数时,不应该包含最后回车符。如果在统计其他字符个数时没有减去回车符的个数,可以在输时进行减去。例如: print("其他字符个数为:{}".format(num_other-1)) 因为回车符一定会现在输入的字符串的最后一个位置,所以回车符的个数就等于1。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值