我在shell脚本中编写了以下代码:
num=$1
sum=0; rn=0
less=0; fact=0
while [ $num -gt 0 ]
do
rn=`expr $num % 10`
num=`expr $num / 10`
while [ $rn -gt 1 ]
do
less=`expr %rn - 1`
fact=`expr $rn \* less`
rn=`expr $rn - 1`
done
sum=`expr $sum + $fact`
done
echo $sum
但终端显示以下错误,没有任何行号: Terminal Error pic
请告诉我在哪里搞砸了?
答案 0 :(得分:2)
当前的问题是
less=`expr %rn - 1`
将其更改为
less=`expr $rn - 1`
你应该回家了。但您也可以使用bash的-x
选项调试脚本,这样可以逐行分析。
不鼓励使用expr
,因为您可以轻松地将其替换为((expression))
构造(或calc
,如果您需要浮点运算)。然后,
fact=`expr $rn \* $less`
将变得更容易
((fact=rn*less))
优势在于您不应该在shell
*
}等import pyautogui, time
import PIL
input("Press Enter to start")
print("Starting program in 5 seconds")
time.sleep(5)
#open edgewise
pyautogui.hotkey("win")
pyautogui.typewrite("edgewise")
pyautogui.hotkey("Enter")
time.sleep(20)
print("Checking for error message")
a = pyautogui.locateOnScreen("ok.png")
while True:
if a == None:
print("Not Found")
break
else:
print("Found")
new0 = a[0]
new0 = new0 + 10
new1 = a[1]
new1 = new1 + 10
pyautogui.moveTo(new0,new1,duration=1)
pyautogui.click()
break
input("Finished")
中转义具有特殊含义的字符