我无法将列表中的元素转换为整数

2024-04-24 22:45:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我的任务是 1设计并编写了模拟银行的程序。你的程序应该读取帐号,密码, 从一个文本文件开始。输入文件中的每行文本都包含所有信息 关于一个单一的银行帐户-帐号,密码和期初余额。所有信息字段都是 用分号隔开。以下是一些示例输入: 516;5555;20000 148;2222;10000 179;9898;4500 我的问题是,我不知道如何把这些元素变成整数,我可以操纵,比如有人取款,这是我到目前为止得到的

def bank():
  myfile = pickAFile() 
  file = open(myfile)
  contents = file.readlines() 
  for i in range (0, len(contents)):
    items = contents[i].split(";")
  choice = requestInteger(" 1 - Withdraw, 2 - Deposit, 3 - Exit program ")
  if (choice == 1):
    PIN = requestInteger("Please enter your PIN")
    if (PIN == items[1]):
      print items[0]
    print("Invalid PIN")

但是我的if语句不起作用,因为items中的所有内容都是字符串而不是int,语言是JES,它使用python语法,但使用java库


Tags: 程序信息密码ifcontentspinitems银行
1条回答
网友
1楼 · 发布于 2024-04-24 22:45:32

-新答案- 感谢您的反馈-您可以使用相同的铸造技术与列表理解。你知道吗

items = [int(j) for j in contents[i].split(";")]

您也可以选择使用try/except块来包围它,这取决于您对传入数据质量的信心。你知道吗

-旧答案- 您可以在requestInteger()调用之后将其转换为整数:

...
choice = requestInteger(...)
try:
  choice = int(choice)
except ValueError:
  # Spit some error message back
if (choice == 1):
...

相关问题 更多 >