
[英]How to modify my code in order to extract my output executed from code on Python terminal to a fasta file?
[英]My python code output in VSCode is different from the output I recieve when running my code in my mac terminal
sum = 0
codeid = input("Please enter your ID code: ")
if len(str(codeid)) == 10:
sum = sum + int(str(codeid) [0]) * 10
sum = sum + int(str(codeid) [1]) * 9
sum = sum + int(str(codeid) [2]) * 8
sum = sum + int(str(codeid) [3]) * 7
sum = sum + int(str(codeid) [4]) * 6
sum = sum + int(str(codeid) [5]) * 5
sum = sum + int(str(codeid) [6]) * 4
sum = sum + int(str(codeid) [7]) * 3
sum = sum + int(str(codeid) [8]) * 2
remainder = sum % 11
if remainder >= 2 and (11 - remainder == int(str(codeid) [9])):
print ("valid ID")
elif remainder < 2 and (remainder == int(str(codeid) [9])):
print ("valid ID")
else :
print ("Invalid ID")
else:
print ("Invalid ID")
所以这是我创建的一个简单代码,用于检测特定类型的 ID 是否有效。 例如,由于算法,数字“0462519449”是有效的,当我在 VSCode 中运行代码时,output 返回“有效”; 但是,当我保存程序并从终端运行它时,我得到 output “无效 ID”,这是不正确的,因为它必须是有效的。 有谁知道问题是什么?
我认为在终端中您使用的是 Python 2。
在 Python 3 中, input
返回一个字符串(因此您的所有str(codeid)
调用都是不必要的)。
在 Python 2 中, input
计算给出的任何文本,因此如果您输入 0462519449,它将返回一个 int。 具体来说,它将返回 int 462519449
,因为前导零无效。 然后你的检查len(str(codeid)) == 10
是假的,这就是你得到“无效 ID”的原因。
如果您正在运行 Python 2,则需要使用raw_input
而不是input
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.