【发布时间】:2017-03-05 08:47:06
【问题描述】:
我正在尝试创建一个程序来创建 .txt 或 .dat 文件(取决于用户的选择),然后在该文件中写入一个随机值,然后将其转换为另一个值。
因此,如果给定一个随机字符,则应将其转换为相应的 ASCII 值,反之亦然。
目前这就是我所拥有的:
import random # import randomdeals with random generation
import string # import string contains sequences of common ASCII characters
userInput = input("Which file would you like to open either a .txt file or a .dat file?") # let the user decide which file type they want to open
def randomCharacter():
return random.choice(string.ascii_letters)
def randomASCII():
return random.randint(97,122)
if userInput == (".txt"):
with open("characterConversion.txt", "w") as textFile:
textFile.write(randomCharacter())
textFile.close()
textFile = open("characterConversion.txt", "r+")
character = textFile.readline(1)
textFile.write("\n converted into its ASCII value is \n") #/n means a new line
textFile.write(str(ord(character)))
textFile.close()
if userInput == (".dat"):
with open("asciiConversion.dat", "w") as datFile:
datFile.write(str(randomASCII()))
datFile.close()
datFile = open("asciiConversion.dat", "r+")
ascii = int(datFile.readline(1))
character = chr(randomASCII())
datFile.write(str(ascii))
datFile.write("\n in its character form is \n")
datFile.write(character)
datFile.close()
感谢之前帮助我修复它的用户,我的程序的 .txt 部分运行良好,但我现在遇到了我的 .dat 文件的问题。在我将输入输入为 .dat 并打开它读取的文件后: 1061 它的字符形式是 一个
但是这个数字(在本例中是 1061)应该只在 97 到 122 之间,所以我不知道我哪里出错了。如果我没有清楚地解释我的问题,我深表歉意
【问题讨论】: