将用户输入限制为固定长度

时间:2018-10-11 08:56:46

标签: python python-3.5

我想将用户输入限制为固定长度,然后必须乘以它。我希望C的值是一个整数。我怎么得到这个?

def F_to_C():
    F=int(input("enter the F value:"))  
    if len(F) >3:
        print("input is too long")
    else:
        C=(F-32)*(5/9)
        print("the corresponding celcius value is: ",C)

我的错误:

if len(F)>3:
TypeError: object of type 'int' has no len()

3 个答案:

答案 0 :(得分:2)

我认为您是指1000下的意思:

def F_to_C():
  F=int(input("enter the F value:"))  
  if F>999:
      print("input is too long")
  else:
      C=(F-32)*(5/9)
      print("the corresponding celcius value is: ",C)

然后:

F_to_C()

示例输出:

enter the F value:234
the corresponding celcius value is:  112.22222222222223

如果要为整数(舍入):

def F_to_C():
  F=int(input("enter the F value:"))  
  if F>999:
      print("input is too long")
  else:
      C=round((F-32)*(5/9))
      print("the corresponding celcius value is: ",C)

如果只想舍入成为数字部分:

def F_to_C():
  F=int(input("enter the F value:"))  
  if F>999:
      print("input is too long")
  else:
      C=int((F-32)*(5/9))
      print("the corresponding celcius value is: ",C)

答案 1 :(得分:1)

因此,我认为错误消息非常清楚:变量F是整数,并且没有len()。试试这个:

def F_to_C():
    F = input("enter the F value:")  
    if len(F) > 3:
        print("input is too long")
    else:
        C=(int(F)-32)*(5/9)
        print("the corresponding celcius value is: ",C)

或@ U9-Forward中的代码

答案 2 :(得分:1)

F=int(input("enter the F value:"))  

读取一个字符串并将其转换为int

if len(F) >3:

在这里您尝试读取int的长度,这是不可能的

尝试一下:

def F_to_C():
F=input("enter the F value:")
if len(F) >3:
    print("input is too long")
else:
    C=(int(F)-32)*(5/9)
    print("the corresponding celcius value is: ",C)

首先它将检查字符串F的长度,然后在计算C时将F转换为整数。