как конвертировать все значения int для float? - PullRequest
0 голосов
/ 19 сентября 2019

Как я могу вместо этого теперь ввести значения температуры плавания.В данный момент я могу использовать только значения int или это дает сбой.

Я пытался изменить все значения типа int на float, но это все равно не работает.

    import numpy

    # creates arrays of size 30
    midday_array = [i for i in range(30)]
    midnight_array = [i for i in range(30)]

    # loop through each day of the month
    # temperatures can only be between -10, 35
    for x in range(0, 30):
        value = int(input('The recorded Midday temp is: '))
        while value > 35 or value < -10:
            print('The temp must be between -20 and 45, sorry')
            value = int(input('The recorded Midday temp is: '))
        midday_array[x] = value
        value = int(input('The recorded Midnight temp is: '))
        while value > 35 or value < -10:
            print('The temp must be between -20 and 45, sorry')
            value = int(input('The recorded Midnight temp is: '))
        midnight_array[x] = value
    print('The midnight temperatures recorded are: ', midnight_array)
    print('The midday temperatures recorded are: ', midday_array)
    print('The Average Temperature from those recorded are: ', 
    (numpy.mean(midnight_array)))
    print('The Average Temperature from those recorded are: ', 
    (numpy.mean(midday_array)))

Чтобы разрешить вводить числа с плавающей точкой.

1 Ответ

0 голосов
/ 19 сентября 2019

Q : Как теперь вместо этого (int -s) ввести значения температуры с плавающей запятой?

Добро пожаловать в StackOverflow, Шимон

Давайте начнем "изолировать", где может возникнуть проблема, хорошо?

numpy -часть выходит изВ методе .mean() можно обрабатывать либо int -s, либо float -s

>>> np.mean( [ 12,  13,  14,  15,  16 ] )
14.0
>>> np.mean( [ 12., 13., 14., 15., 16. ] )
14.0

[QED]


input() -часть работает таким образом

>>> type( input( "Give me an int number, please. Thank you: " ) )
Give me an int number, please. Thank you: 123
<class 'str'>

>>> type( input( "Give me a float number, please. Thank you: " ) )
Give me a float number, please. Thank you: 123.456
<class 'str'>

>>> ####  +++++----------------------------------THIS IS A FORCED TYPE-CONVERSION
>>> ####  |||||
>>> ####  vvvvv
>>> ####  float(                                                       )
>>> ####  |||||
>>> ####  vvvvv
>>> type( float( input( "Give me an int number, please. Thank you: " ) ) )
Give me a float number, please. Thank you: 123.456
<class 'float'>

Таким образом, правильное преобразование из строки input(), поставляемой по умолчанию, является обязательным.

Наслаждайтесь мощью numpy и python - стоит учиться для любой будущей работы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...