我是编码的新手,正在尝试解决这个python问题
问题: 编写一个程序,根据给定的公式计算并打印该值: Q = [(2 * C * D)/ H]的平方根 以下是C和H的固定值: C是50.H是30。 D是变量,其值应以逗号分隔的顺序输入到程序中。
实施例 让我们假设以下逗号分隔的输入序列被赋予程序:
100150180
程序的输出应为:
18,22,24
提示: 如果收到的输出是十进制形式,则应将其四舍五入到最接近的值(例如,如果收到的输出为26.0,则应打印为26) 如果输入数据被提供给问题,则应该假定它是控制台输入。
这是给出的解决方案。我没有在输入()'表达式中看到&x; x for x,我可以知道这个表达式做了什么吗?
import math
c=50
h=30
value = []
items=[x for x in input().split(',')]
for d in items:
value.append(str(int(round(math.sqrt(2*c*float(d)/h)))))
print (','.join(value))
这是我自己的解决方案但不知何故我遇到了语法错误。
def sr(D):
For item in D:
return ((2*50*D)/30)**0.5
try:
a=int(input())
j=a.split(",")
print(sr(j))
except:
print('Please enter an integers or intergers seperated by comma')
答案 0 :(得分:0)
x
只是一个变量,可以通过input()
函数分配给输入。
如果您了解C
样式语言(或Java),则类似于
for(int i=0;<some_condition>;<some_operation>){}
这只是一种浓缩,pythonic和易于阅读的方式来做到这一点。
您可以在这里阅读更多Python循环