我有一个python脚本,通过内置的input()函数从用户获取信息.
我的问题是为什么退格键和箭头键不能正常工作,如何修复它以使它们按预期运行.
我遇到问题的一个简单例子......
#!/usr/bin/env python3
while 1:
x=input("enter integer: ")
y=int(x)*17
print(y)
Run Code Online (Sandbox Code Playgroud)
这是使用它的一个例子.
./tester
enter integer: 3
51
enter integer: 17
289
enter integer: 172^[[D^[[D^H
Traceback (most recent call last):
File "./tester", line 4, in <module>
y=int(x)*17
ValueError: invalid literal for int() with base 10: '172\x08'
Run Code Online (Sandbox Code Playgroud)
在尝试使用箭头键和退格键移除'1'时,^ [[D ^ [[D ^ H出现而不是删除向左移动两个空格并移除'1',并且值使程序崩溃.
我如何解决这个问题,以便所有按键按预期运行?
有没有办法允许用户调用JSON对象的元素?
有效的东西:
var jsonobj = {"name":"charlie", "age":"17"};
var ins = document.getElementById('input_box');
var usergen = ins.value;
div.innerHTML = jsonobj.usergen;
Run Code Online (Sandbox Code Playgroud) 我的理解是python可以处理任意长度的整数.它很好地处理加法和乘法,但似乎与分裂分开.
>>> from decimal import Decimal, getcontext
>>> getcontext().prec=2**5
>>> ORIG_NUM=476939688738611836995535477357070857939902076027788232031989775824606225595773435668861833
>>> print(Decimal(ORIG_NUM)/7)
6.8134241248373119570790782479582E+88
>>> print("%.6f" % (Decimal(ORIG_NUM)/7))
68134241248373123068520468160885027682039120236463560535175757714209021725053511199096832.000000
Run Code Online (Sandbox Code Playgroud)
我不希望e符号因此getcontext().prec尝试.还有,%f丢弃小数?
>>> getcontext().prec=2**7
>>>QUOTIENT= (Decimal(476939688738611836995535477357070857939902076027788232031989775824606225595773435668861833)/7)
>>>print(QUOTIENT)
68134241248373119570790782479581551134271725146826890290284253689229460799396205095551690.428571428571428571428571428571428571429
>>>QUOTIENT*7
4.7693968873861185e+89
>>> Decimal(QUOTIENT)*7
Decimal('476939688738611861479643277126195193774273841655244923746230303999463152075374578393677824')
>>> print(Decimal(QUOTIENT)*7)
476939688738611861479643277126195193774273841655244923746230303999463152075374578393677824
>>> print(Decimal(QUOTIENT)*7)==ORIG_NUM
476939688738611861479643277126195193774273841655244923746230303999463152075374578393677824
False
Run Code Online (Sandbox Code Playgroud)
第二个问题是数字不匹配.
有关该主题的任何信息?
希望更好......