Python 无法从打印ASCII表!到10个字符,即每行字符和字符之间用while循环分隔一个空格

Python 无法从打印ASCII表!到10个字符,即每行字符和字符之间用while循环分隔一个空格,python,Python,当我使用此代码时,我的终端显示完整的ASCII字符,但它不满足我问题的要求,即每行显示10个ASCII字符,其中字符用分隔,而循环: i = 1 while i < 127: result = chr(i) print(result) i = i + 1 i=1 而我

当我使用此代码时,我的终端显示完整的ASCII字符,但它不满足我问题的要求,即每行显示10个ASCII字符,其中字符用
分隔,而
循环:

i = 1
while i < 127:    
    result = chr(i)
    print(result)          
 
    i = i + 1
i=1
而我<127:
结果=chr(i)
打印(结果)
i=i+1
每个角色都有自己的路线

当我使用这个代码时

i = 1
while i < 127:    
    result = chr(i)
    print(result,sep=' ', end=" ")          
 
    i = i + 1
i=1
而我<127:
结果=chr(i)
打印(结果,九月=“”,结束=“”)
i=i+1
ASCII字符在17个空格后显示如下


我仍然不确定17位小数是什么意思,但我想我知道你想做什么。
问题是如果我理解正确,您不知道如何在空格和换行符之间切换。
我们希望每10个字符打印一个换行符,否则打印一个空格。在python中实现这一点的一个简单方法是使用。用它你可以得到除法的余数。如果我们将迭代器
i
除以10,则每10次迭代得到0作为余数。我们可以使用它每10次迭代打印一条换行,如下所示:

! " # $ % & ' ( ) *
+ , - . / 0 1 2 3 4
5 6 7 8 9 : ; < = >
? @ A B C D E F G H
I J K L M N O P Q R
S T U V W X Y Z [ \
] ^ _ ` a b c d e f
g h i j k l m n o p
q r s t u v w x y z
{ | } ~
i=1
而i<127-32:
结果=chr(i+32)
如果i%10==0:
打印(结果)
其他:
打印(结果,结束=“”)
i=i+1
你还说它必须来自
~
。在ASCIM中,可打印字符从32开始,因此我们需要开始在
chr()
中的数字中添加32,以确保我们没有打印不可打印字符。
这将使用所有可打印字符打印ascii表,如下所示:

! " # $ % & ' ( ) *
+ , - . / 0 1 2 3 4
5 6 7 8 9 : ; < = >
? @ A B C D E F G H
I J K L M N O P Q R
S T U V W X Y Z [ \
] ^ _ ` a b c d e f
g h i j k l m n o p
q r s t u v w x y z
{ | } ~
!" # $ % & ' ( ) *
+ , - . / 0 1 2 3 4
5 6 7 8 9 : ; < = >
?A B C D E F G H
I J K L M N O P Q R
S T U V W X Y Z[\
](a b c d e f)
g h i j k l m n o p
q r s t u v w x y z
{ | } ~

我仍然不确定17位小数是什么意思,但我想我知道你想做什么。
问题是如果我理解正确,您不知道如何在空格和换行符之间切换。
我们希望每10个字符打印一个换行符,或者打印一个空格。在python中,一个简单的方法是使用。使用它可以得到除法的余数。如果我们将迭代器
i
除以10,则每10次迭代得到0作为余数。我们可以使用它每10次迭代打印一个换行符,如下所示:

! " # $ % & ' ( ) *
+ , - . / 0 1 2 3 4
5 6 7 8 9 : ; < = >
? @ A B C D E F G H
I J K L M N O P Q R
S T U V W X Y Z [ \
] ^ _ ` a b c d e f
g h i j k l m n o p
q r s t u v w x y z
{ | } ~
i=1
而i<127-32:
结果=chr(i+32)
如果i%10==0:
打印(结果)
其他:
打印(结果,结束=“”)
i=i+1
您还说它必须从
~
。在ascim中,可打印字符从32开始,因此我们需要开始在
chr()
中的数字中添加32,以确保我们没有打印不可打印的字符。
这将使用所有可打印字符打印ascii表,如下所示:

! " # $ % & ' ( ) *
+ , - . / 0 1 2 3 4
5 6 7 8 9 : ; < = >
? @ A B C D E F G H
I J K L M N O P Q R
S T U V W X Y Z [ \
] ^ _ ` a b c d e f
g h i j k l m n o p
q r s t u v w x y z
{ | } ~
!“#$%&'()*
+ , - . / 0 1 2 3 4
5 6 7 8 9 : ; < = >
? @ A B C D E F G H
I J K L M N O P Q R
S T U V W X Y Z[\
](a b c d e f)
g h i j k l m n o p
q r s t u v w x y z
{ | } ~

您可以收集
的起始值和结束值
'~'
通过删除代码中的幻数:

ord(c)
给定一个表示一个Unicode字符的字符串,返回一个表示 该字符的Unicode代码点。例如,
ord('a')
返回整数 97和
ord('€')
(欧元符号)返回8364。这与
chr()
相反

然后打印它们,如果行尚未完成,则添加空格;如果此行已完成,则添加换行符

start = ord("!")
end = ord("~")

i = start
while i <= end:
    print(chr(i), end="")   # print the character
    i += 1
    if (i - start) % 10 == 0: # check if we printed 10 characters in this line
        print()
    else:
        print(" ", end="")
start=ord(“!”)
结束=ord(“~”)
i=开始

而我你可以收集
的起始值和结束值
'~'
通过删除代码中的幻数:

ord(c)
给定一个表示一个Unicode字符的字符串,返回一个表示 该字符的Unicode代码点。例如,
ord('a')
返回整数 97和
ord('€')
(欧元符号)返回8364。这与
chr()
相反

然后打印它们,如果行尚未完成,则添加空格;如果此行已完成,则添加换行符

start = ord("!")
end = ord("~")

i = start
while i <= end:
    print(chr(i), end="")   # print the character
    i += 1
    if (i - start) % 10 == 0: # check if we printed 10 characters in this line
        print()
    else:
        print(" ", end="")
start=ord(“!”)
结束=ord(“~”)
i=开始

虽然我不知道你想达到什么目的。你说的“17个小数点”是什么意思?它意味着输出从17个十进制数字开始,这个数字被转换成字符而不是1(!)。。。问题是:(显示ASCII字符表)编写一个程序,从中显示ASCII字符表中的字符!到~。每行显示十个字符。字符之间用一个空格隔开。这个问题的答案可以通过for循环找到,但我想通过while循环找到答案……请通过编辑来为你的问题添加所有澄清。另外,请解释一下你试图解决的问题。我不确定你想达到什么目的。你说的“17个小数点”是什么意思?它意味着输出从17个十进制数字开始,这个数字被转换成字符而不是1(!)。。。问题是:(显示ASCII字符表)编写一个程序,从中显示ASCII字符表中的字符!到~。每行显示十个字符。字符之间用一个空格隔开。这个问题的答案可以通过for循环找到,但我想通过while循环找到答案……请通过编辑来为你的问题添加所有澄清。还有,请解释一下