Ограничение пользовательского ввода фиксированной длиной - PullRequest
0 голосов
/ 11 октября 2018

Я хочу ограничить ввод пользователя фиксированной длиной, а затем я должен умножить его.Я хочу, чтобы значение 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 голосов
/ 11 октября 2018

Итак, сообщение об ошибке достаточно ясно, я думаю: переменная 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

0 голосов
/ 11 октября 2018
F=int(input("enter the F value:"))  

читает строку и преобразовывает ее в целое число

if len(F) >3:

Здесь вы пытаетесь прочитать длину целого числа, что невозможно

Попробуйте это:

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 в int.

0 голосов
/ 11 октября 2018

Я думаю, вы имели в виду 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)
...