我正在尝试构建一个if / then基本应用程序,一旦按下按钮,它将显示标签中.swift文件中输入值的联邦所得税。我打算稍后让代码更具功能,但是想测试一下我的代码。唯一的问题是,当我按下按钮时,它显示0.0,当它应该是40左右时......有谁知道我做错了什么?
teams = tree.xpath('//td[@class="nw"]/text()')
答案 0 :(得分:1)
您不应在if else
块内创建变量。
尝试在if else之外移动声明并更改if else
块内的值。
答案 1 :(得分:1)
分配给var
的所有行都分配给您在if
块范围内定义的本地fedIncome
。该块结束后,fedIncome
变量将被删除,因此不会打印。
如上所示,您的示例似乎根本不应该编译。如果它正在编译,我的假设是你的类在其他地方定义了print
属性,并且你的fedIncome
语句正在打印而不是你刚刚计算的值。
无论如何,在if
语句之外声明var
,并删除if
语句中的var
语句,您应该解决您的问题。您也可以考虑将let
转换为from pyspark.sql import Window
windowSpec = Window.orderBy("col1").rowsBetween(Window.unboundedPreceding, Window.unboundedFollowing)
from pyspark.sql import functions as F
df.withColumn("col2", F.collect_list("col2").over(windowSpec)).show(false)
,因为您在设置它们之后不会改变它们。
答案 2 :(得分:0)
雅是因为你在每个if / else语句中声明联邦收入是一个局部变量。尝试这样的事情:
@IBAction func ButtonClicked(_ sender: Any) {
let hourly = 9.00
let hours = 61.75
let exemptions = 1.00
let deductions = 95.80
let allowances = (exemptions * deductions)
let gross = (hourly * hours)
let taxable = (gross - allowances)
var fedIncome:Float = 0.0 // default value
if taxable >= 17529 {
fedIncome = ((taxable * 0.396) + 5062.69)}
else if taxable < 17529 && taxable >= 17458 {
fedIncome = ((taxable * 0.35) + 5037.84)}
else if taxable < 17458 && taxable >= 8081 {
fedIncome = ((taxable * 0.33) + 1943.43)}
else if taxable < 8081 && taxable >= 3925 {
fedIncome = ((taxable * 0.28) + 779.75)}
else if taxable < 3925 && taxable >= 1677 {
fedIncome = ((taxable * 0.25) + 217.75)}
else if taxable < 1677 && taxable >= 484 {
fedIncome = ((taxable * 0.15) + 38.80)}
else if taxable < 484 && taxable >= 96 {
fedIncome = (taxable * 0.1)}
}
Label.text = ("\(fedIncome)")
}
请注意,fedIncome在顶部声明了函数的本地其他变量,然后每个if / else只是相应地更新它...
答案 3 :(得分:0)
在输入 if 语句之前,将var fedIncome
与其余变量一起放置..所以当任一if语句中的条件为真时,更改应用于退出 if 块
fedIncome
不会重置