Форум сайта python.su
0
Есть очень простой код, написанный число для проверки понимания прочитанной намедни инфы, проблема заключается в том что, при вводе данных в переменную “vvod” сама переменная определяется походу дела в не правильном типе либо записывается в неверной кодировке, так как тот же код на linux с локалью utf-8 работает на ура, а в windows 8.1 в русской локале почему то не хочет воспринимать обычные цифры как перменную типа int и походу дела воспринимает как то иначе либо в другой кодировке. В итоге этот же код не работает в питоне на винде, пока не предопределишь тип переменной заранее. можно ли как то пофиксить этот момент?
сам код:
import random zagadka = [1,2,3] random.shuffle(zagadka) print ("Please enter number between 1 and 3") zagadkaa = zagadka.pop() vvod = input("Enter number here") if (vvod) == (zagadkaa): print ("ok") else: print ("wrong %d"%zagadkaa) print ("Goodbye")
Офлайн
0
p.s. это мой первый код на python, поэтому прошу сильно не пинать, с час искал инфу про переменные, думал мой где-то косяк, но опечалившись просто решил тоже самое запутить на иксах..и очень был удивлен.. на винде же, работает на ура только при таком значении:
vvod = int(input("Enter number here"))
Офлайн
26
В более ранних версиях Python были две встроенные функции, позволяющие получать данные с клавиатуры: raw_input(), возвращающая в программу строку и input(), возвращающая число. Начиная с версии Python 3.0, если требуется получить число, то результат выполнения функции input() изменяют с помощью функций int() или float().
Отредактировано ajib6ept (Июль 26, 2014 17:12:06)
Офлайн