Я очень новичок в Python 2.7, и я не знаю, какую структуру лучше всего использовать для этого скрипта.Расчет формул Python с пользовательского ввода
Я думаю, что моя проблема в том, что я не знаю, как сделать Python хранения данных, вводимых пользователем для дальнейшего использования в сценарии ..
весь сценарий.
# -*-coding: utf-8 -*-
import sys
from sys import argv
prompt = '>'
# user inputs.. values to be used in calculation
ri = int(input("inre bockningsradie i mm:"))
L1 = int(input("längd på plåt som 'står':"))
L2 = int(input("längd på plåt som 'ligger':"))
t = int(input("tjocklek på plåt:"))
a1 = int(input("bockningsvinkel i grader:"))
#
L1_total = L2 - t - ri
L2_total = (L2, - t, - ri,)
Lb_total = multiply(ri, pi)/180
rn = multiply(t, k) + rn
k = divide(r, t)
L_total = (L1, + L2, + Lb_total)
print "beräkning av ämneslängd för kantbokning"
print "ämneslängden är: ", L_total
Runetime ошибка: Ошибка выполнения:
[email protected] ~/Documents/scripts_r_w $ python amneslangd.py
inre bockningsradie i mm:213
längd på plåt som 'står':123
längd på plåt som 'ligger':123
tjocklek på plåt:123
bockningsvinkel i grader:123
Traceback (most recent call last):
File "amneslangd.py", line 18, in <module>
L1_total = L2 - t - ri
TypeError: unsupported operand type(s) for -: 'int' and 'str'
Формулы Источник:
Можно найти по адресу: http://s30.postimg.org/gq2vqzz1b/formula.jpg
------------ ---------------------ЗАДАНИЕ ВЫПОЛНЕНО--------------------------- --------------
Спасибо за ваши ребята! После исправления первой проблемы возникло больше ошибок! Помимо ошибок во время выполнения, я нашел там и некоторые схематические ошибки. Но ниже приведена версия, которая работает по назначению .. Небольшая очистка ...
Вопрос на стороне: есть ли способ сделать поплавок (ввод) также принимать запятые и периоды как 0,72 вместо/или 0,72?
# -*-coding: utf-8 -*-
import sys
from sys import argv
print "\n"
print "\tScript som räknar ut ämneslängden för kantbockning i plåt!"
print "\n\tOBS. Korrektionsfaktorn i tabell kanske står som: 0,72"
print "\tDu ska skriva in värdet som 0.72"
# line below means exchange comma(,) for a period(.)..
print "\tAlltså, byt ut comma(,) mot en punkt(.)!"
print "\n"
# user inputs.. values to be used in calculation
ri = int(input("(ri) inre bockningsradie i mm: "))
L1 = int(input("(L1) vertikal kanthöjd: "))
L2 = int(input("(L2) horizontel kanthöjd: "))
t = int(input("(t) tjocklek på plåt: "))
a1 = int(input("(a) bockningsvinkel: "))
k = ri/t
# prints k as integer so user can look up k1 from a table
print "\nVad är (k)korrekktionsfaktor i kolumn: %d, rad: %d?" % (k, a1)
# below prompts the user for the value he got when looking up "k" from table
k1 = float(input("\nk = "))
l1_total = L1 - t - ri # returns l1
l2_total = L2 - t - ri # returns l2
rn = (t * k1)/2 + ri
lb_total = (rn * 3.14 * a1)/180 # returns lb
L_total = (l1_total + l2_total + lb_total) # returns L
print "\n\t(L)Ämneslängden är: ", L_total
print "\n"
Вы уверены, что на самом деле это код, который выполняется? Это работает для меня, когда я пытаюсь. (Или, по крайней мере, он проходит мимо этой строки - 'multiply' не определен, поэтому я получаю' NameError'.) Добавьте «print» здесь! »' После 'prompt' для проверки. – DSM
Я полагаю, что 'L2_total = (L2, - t, - ri,)' опечатка, и на самом деле у вас нет запятых? – 9000
@DSM попробуйте добавить 'from numpy import *'. – Kraay89