首页 > 解决方案 > 如何使用'chr()'函数扩展将整数转换为字符,并输出该字符

问题描述

我在脚本作业的第三部分遇到了麻烦。1.23 LAB:热身:变量、输入和类型转换 (1) 提示用户输入一个介于 32 和 126 之间的整数、一个浮点数、一个字符和一个字符串,并将它们分别存储到单独的变量中。然后,将这四个值输出到由空格分隔的一行上。(2) 扩展为也反向输出。(3) 扩展使用'chr()'函数将整数转换为字符,并输出该字符。 当我运行程序时,它似乎很好,但是当我提交评分时,我得到 0 分。这是我的代码:

user_int = int(input('Enter integer (32 - 126):\n'))
user_float = float(input('Enter float:\n'))
user_char = input('Enter character:\n')
user_str = input('Enter string:\n')

print(str(user_int) + " " + str(user_float) + " " + str(user_char) + " " + user_str)
print(str(user_str) + " " + str(user_char) + " " + str(user_float) + " " + str(user_int))
print(str(chr(user_int)) + " " + str(user_float) + " " + str(user_char) + " " + user_str)

标签: python

解决方案


关于您的代码的一些评论。

one

print(str(user_int) + " " + str(user_float) + " " + str(user_char) + " " + user_str)

没有必要强制user_char转换为str。它已经是一个字符串。

print(str(user_int) + " " + str(user_float) + " " + user_char + " " + user_str)

two

print(str(user_str) + " " + str(user_char) + " " + str(user_float) + " " + str(user_int))

您再次将usr_char(and user_str) 转换为 tostr并且没有必要,因为它们已经是字符串并且不需要转换为str.

print(user_str + " " + user_char + " " + str(user_float) + " " + str(user_int))

three

正如我在上面的评论中所说,(我可能错了),我认为规范只要求您打印出从user_int.

print(chr(user_int))

我建议的更改可以呈现如下。

user_int = int(input('Enter integer (32 - 126):\n'))
user_float = float(input('Enter float:\n'))
user_char = input('Enter character:\n')
user_str = input('Enter string:\n')

print(user_int, user_float, user_char, user_str)
print(user_str, user_char, user_float, user_int)
print(chr(user_int))

(请注意,我没有在项目之间添加空格,因为打印逗号分隔的项目列表会在每个项目之间添加一个空格。此外,您可以打印user_intanduser_float而不将它们转换为strpython 将接受它们。有必要转换它们to strif you are concatenating them to (spaces in your approach). (但是,您的讲师似乎希望您转换它们,因此您可能应该使用您的方法在打印语句中的每个项目之间添加空格,而不是使用我的方法使用逗号分隔的列表)。

运行这个程序,我得到了下面的示例结果。

Enter integer (32 - 126):
122
Enter float:
3.1415
Enter character:
B
Enter string:
Tom likes watermelon
122 3.1415 B Tom likes watermelon
Tom likes watermelon B 3.1415 122
z

推荐阅读