Я написал эту программу на IDLE 2.7 по ошибке (я новичок). Теперь я пытаюсь запустить его в 3.4. Я получаю ошибки, я пошел на внесенные изменения, но я все еще не могу запустить его. любая помощь? Да, код может быть даже невелик, но я все еще работаю над ним. Поэтому любая помощь будет принята с благодарностью. Для меня я думал, что только скобки были основным различием между обоими обновлениями.От 2,7 до 3,4
# Convert a decimal to a hex as a string
def decimalToHex(decimalValue):
hex = ""
while decimalValue != 0:
hexValue = int(decimalValue) % 16
hex = toHexChar(hexValue) + hex
decimalValue = int(decimalValue) // 16
return hex
def printRect (row_count, col_count):
row = []
column = []
for r in range(row_count):
row = []
column = []
end_row_flag = 'False'
for c in range(col_count):
if r % (row_count) == 0:
if c % (col_count-1) == 0:
row.append('+')
else:
row.append('-')
end_row_flag = 'True'
if end_row_flag == 'True':
end_row = row
if c % (col_count-1) == 0:
column.append('|')
else:
column.append(' ')
if row:
print (row)
print (column)
print (end_row)
def charASCII(letter):
return (ord(letter))
# Convert an integer to a single hex digit in a character
def toHexChar(hexValue):
if 0 <= hexValue <= 9:
return chr(hexValue + ord('0'))
else: # 10 <= hexValue <= 15
return chr(hexValue - 10 + ord('A'))
def main():
# Prompt the user to enter a decimal integer
data_file = []
char_file = []
ascii_file = []
hex_key = []
decimal_key = []
nonkey_val = 32
data_file.append(' Dec Hex Char ')
data_file.append('+---------------+')
for i in range(nonkey_val):
a_char = chr(i)
hex_convert = decimalToHex(i)
if i < 10:
decimal_key = '0%s' % i
else:
decimal_key = '%s' % i
if i <= 15:
hex_key = '0%s' % hex_convert
else:
hex_key = hex_convert
data_file.append('| %s %s %s |' % (decimal_key.strip(), hex_key.strip(), a_char))
# data_file.append('%s' % (a_char))
with open ('sample_file.txt', 'r') as f:
data = f.readlines()
for character in data:
print ('character is %s' % character)
decimalValue = charASCII(character[0])
hex_convert = decimalToHex(decimalValue)
print ('decimalValue is %s' % decimalValue)
print ('The hex number for decimal %s is %s' % (decimalValue, hex_convert)
data_file.append('| %s %s %s |' % (decimalValue, hex_convert.strip(), character.strip())))
data_file.append('+---------------+')
print data_file
f.close()
with open ('output_file.txt', 'w+') as o:
for line in data_file:
o.write('%s\n'% line)
o.close
main() # Call the main function
rows = input("Enter the numer of rows: ")
columns = input("Enter the number of columns: ")
printRect (rows, columns)
И какие ошибки вы получаете? Можете ли вы сократить свой код до * просто * тех частей, которые имеют проблемы? –
Совет для будущего: если вы хотите портировать (рабочий) код с Python 2.x на 3.x, то инструмент '2to3' может выполнить 90% работы для вас. В некоторых случаях вам даже не нужно будет редактировать что-либо. –