Форум сайта python.su
0
При использовании команды
exec (open (“C
Python31/Projects/grade1.py”). read ())
выдает набор неразборчивых символов, хотя если открывать тот же файл через Run } Module, программа работает.
Не пойму, что не так.
Отредактировано tmillenium120 (Ноя. 26, 2019 11:12:17)
Прикреплённый файлы:
Screenshot_39.png (61,0 KБ)
Офлайн
294
tmillenium120давайте я вам расскажу как выглядит ваш пост:
При использовании команды
exec (open (“CPython31/Projects/grade1.py”). read ())
выдает набор неразборчивых символов,
[code python][/code]
Отредактировано PEHDOM (Ноя. 26, 2019 10:45:59)
Офлайн
0
Спасибо за конструктивную критику!!! Я совсем новичок. Обещаю исправиться
При использовании команды для открытия файла .py через командную оболочку, программа выдает набор неразборчивых символов и ошибку.
>>> exec (open (“C
Python31/Projects/grade1.py”).read())
Введи возраст:
Traceback (most recent call last):
File “<pyshell#0>”, line 1, in <module>
exec (open (“C
Python31/Projects/grade1.py”).read())
File “<string>”, line 3, in <module>
ValueError: invalid literal for int() with base 10: ''
Код программы следующий
# Возрастной ценз
print(“Введи возраст: ”, end=“”)
Score = int(input())
print (“Введи пол:”, end =“”)
Gender = input()
print(“Ты ”, end = “”)
if Gender == “мужской”:
if (Score >= 1) and (Score < 3) :
print(“малыш”)
if (Score >=3) and (Score <11):
print (“ребенок”)
if (Score >=11) and (Score <16):
print (“подросток”)
if (Score >=16) and (Score <20):
print (“юноша”)
if (Score >=20) and (Score <30):
print (“молодой человек”)
if (Score >=30) and (Score<30):
print (“мужчина в полном расцвете сил”)
if (Score >=50) and (Score <65):
print (“зрелый мужчина”)
if (Score>=65) and (Score <80):
print (“пожилой мужчина”)
if (Score >=80) and (Score<110):
print (“глубокий старик”)
if Gender == “женский”:
if (Score >= 1) and (Score < 3) :
print(“малышка”)
if (Score >= 3) and (Score < 11) :
print(“ребенок”)
if (Score >= 11) and (Score < 16) :
print(“подросток”)
if (Score >= 16) and (Score < 20) :
print(“девушка”)
if (Score >= 20) and (Score < 30) :
print(“молодая женщина”)
if (Score >= 30) and (Score < 50) :
print(“женщина в полном соку”)
if (Score >= 50) and (Score < 65) :
print(“зрелая женщина”)
if (Score >= 65) and (Score < 80) :
print(“пожилая женщина”)
if (Score >= 80) and (Score <= 120) :
print(“глубокая старуха”)
if (Score ==0) or (Score > 120):
print (“неправильно”)
Вопрос, почему выдает такую мешанину. Причем когда запускаю через Run } Module программа работает
Прикреплённый файлы:
grade1.py (1,7 KБ)
Офлайн
294
это известная проблема с консолью венды,файл то у вас в UTF-8, а консоль выводит в ANSI подробнее можно прочитать тут https://ru.stackoverflow.com/questions/141035/%D0%9A%D0%B0%D0%BA-%D0%B8%D0%B7-python-%D0%B2%D1%8B%D0%B2%D0%B5%D1%81%D1%82%D0%B8-%D0%BD%D0%B0-windows-%D0%BA%D0%BE%D0%BD%D1%81%D0%BE%D0%BB%D1%8C-%D1%81%D1%82%D1%80%D0%BE%D0%BA%D1%83-%D0%B2-%D0%AE%D0%BD%D0%B8%D0%BA%D0%BE%D0%B4%D0%B5
попробуйте без екзека: open('grade1.py').read() и сами увидите что вам вывалиться
По идее ваш случай вырожденый, так никто не делает, если вы будете запускать
python.exe script_name.py
open('grade1.py').read().encode('ANSI').decode('utf-8')
[code python][/code]
Офлайн
0
Выдает ошибку ANSI неизвестная кодировка.
open (“C
Python31/Projects/grade1.py”).read().encode (“ANSI”).decode(utf-8)
Traceback (most recent call last):
File “<pyshell#3>”, line 1, in <module>
open (“C
Python31/Projects/grade1.py”).read().encode (“ANSI”).decode(utf-8)
LookupError: unknown encoding: ANSI
Офлайн
0
Выдает ошибку ANSI неизвестная кодировка.
open (“C
Python31/Projects/grade1.py”).read().encode (“ANSI”).decode(utf-8)
Traceback (most recent call last):
File “<pyshell#3>”, line 1, in <module>
open (“C
Python31/Projects/grade1.py”).read().encode (“ANSI”).decode(utf-8)
LookupError: unknown encoding: ANSI
Наверное не стоит с этим дальше заморачиваться, я так думаю.
Отредактировано tmillenium120 (Ноя. 26, 2019 19:57:17)
Офлайн
294
tmillenium120 у вас старый пайтон судя по всему, попробуйте заменить ‘ANSI’ на ‘mbcs’
[code python][/code]
Офлайн