Проблемы с обращением вывода в Python - вопрос ученика - PullRequest
0 голосов
/ 11 сентября 2018

Я пытаюсь сделать урок 2 моего класса программирования на Python, и у меня возникло недоразумение. В книге меня просят «Расширить и выводить в обратном порядке».

Код должен выводиться следующим образом (при условии ввода 99, 3.77, z, Howdy)

Enter integer (0 - 155):
99
Enter float:
3.77
Enter character:
z
Enter string:
Howdy
99 3.77 z Howdy
Howdy z 3.77 99

Однако, когда я запускаю код, я получаю эту ошибку:

Enter integer (0 - 155):
Enter float:
Enter character:
Enter string:
99 3.77 z Howdy 

Enter integer (0 - 155):
Traceback (most recent call last):
  File "main.py", 

Вот как на самом деле выглядит мой код:

# FIXME (1): Finish reading other items into variables, then output the four 
values on a single line separated by a space

userInt = int(input('Enter integer (0 - 155):\n'))
userFloat = float(input('Enter float:\n'))
userCharacter = str(input('Enter character:\n'))
userString = str(input('Enter string:\n'))
print(userInt, userFloat, userCharacter, userString, '\n')   

# FIXME (2): Output the four values in reverse

userInt = int(input('Enter integer (0 - 155):\n'))
userFloat = float(input('Enter float:\n'))
userCharacter = str(input('Enter character:\n'))
userString = str(input('Enter string:\n'))
print(userInt, userFloat, userCharacter, userString, userString, 
userCharacter, userFloat, userInt)

Я пробовал несколько разных вещей, но независимо от того, что я делаю, он продолжает выделять пробел после 'Howdy', а затем подсвечивает возврат, а затем распечатывает это сообщение об ошибке трассировки. Я не знаю, что это значит, и я не уверен, как это исправить. Большое спасибо за любой вклад!

Ответы [ 2 ]

0 голосов
/ 11 сентября 2018

Я получил вывод, он проходил один раз, потом второй раз печатал вперед и назад.

Может ли это быть связано с тем, что эта строка отсутствует в комментариях values on a single line separated by a space?

(xenial)vash@localhost:~/python/AtBS$ python3.7 verbose.py 
Enter integer (0 - 155):
99
Enter float:
3.77
Enter character:
z
Enter string:
Howdy
99 3.77 z Howdy 

Enter integer (0 - 155):
99
Enter float:
3.7
Enter character:
z
Enter string:
Howdy
99 3.7 z Howdy Howdy z 3.7 99
0 голосов
/ 11 сентября 2018

Это для входных данных для вывода два раза:

# FIXME (1): Finish reading other items into variables, then output the four values on a single line separated by a space

userInt = int(input('Enter integer (0 - 155):\n'))
userFloat = float(input('Enter float:\n'))
userCharacter = input('Enter character:\n')
userString = input('Enter string:\n')
print(userInt, userFloat, userCharacter, userString, '\n')   

# FIXME (2): Output the four values in reverse

userInt = int(input('Enter integer (0 - 155):\n'))
userFloat = float(input('Enter float:\n'))
userCharacter = input('Enter character:\n')
userString = input('Enter string:\n')
print(userInt, userFloat, userCharacter, userString,'\n'+userString, 
userCharacter, userFloat, userInt)

Пример вывода:

Enter integer (0 - 155):
99
Enter float:
3.77
Enter character:
z
Enter string:
Howdy
99 3.77 z Howdy 

Enter integer (0 - 155):
99
Enter float:
3.77
Enter character:
z
Enter string:
Howdy
99 3.77 z Howdy 
Howdy z 3.77 99

Затем на один раз:

userInt = int(input('Enter integer (0 - 155):\n'))
userFloat = float(input('Enter float:\n'))
userCharacter = input('Enter character:\n')
userString = input('Enter string:\n')
print(userInt, userFloat, userCharacter, userString,'\n'+userString, 
userCharacter, userFloat, userInt)

Пример вывода:

Enter integer (0 - 155):
99
Enter float:
3.77
Enter character:
z
Enter string:
Howdy
99 3.77 z Howdy 
Howdy z 3.77 99
...