[英]print on the same line after the loop in python
import sys
def main():
try:
filename = str(*sys.argv[1:])
f = open(filename[6:],"r")
readFile = f.readlines()
f.close()
for line in readFile:
if (readInput(line)=="error"):
print(line+"=error")
else:
exec(line)
except FileNotFoundError:
print("Failed to open",filename[6:])
def readInput(txt):
numOfNonDigit = 0
numbers = ""
for char in txt:
if char.isdigit():
numbers += char
elif numbers=="" and char==",":
return 'error'
elif char=="," and numbers!="":
numbers=""
elif numbers=="" and char==")":
return 'error'
elif char==" ":
return 'error'
for char in txt:
if not char.isdigit():
numOfNonDigit+=1
if numOfNonDigit>7:
return 'error'
def add(num1,num2): #https://www.geeksforgeeks.org/sum-two-large-numbers/
str1 = str(num1)
str2 = str(num2)
size1 = len(str1)
size2 = len(str2)
carry = 0
swap = 0
total = []
if (size1>40 or size2>40):
return print("add(" + str1 + "," + str2 + ")=error")
if (size1>size2):
temp = str1
str1 = str2
str2 = temp
temp = size1
size1 = size2
size2 = temp
swap = 1
str1 = str1[::-1]
str2 = str2[::-1]
for i in range(size1):
t=int(str1[i])+int(str2[i])+carry
if (t>9):
total.append(t%10)
carry=1
else:
total.append(t)
carry=0
for i in range(size1,size2):
t=int(str2[i])+carry
if (t>9):
total.append(t%10)
carry=1
else:
total.append(t)
carry=0
if (carry):
total.insert(size2,1)
str1 = str1[::-1]
str2 = str2[::-1]
total = total[::-1]
if (swap==1):
temp = str1
str1 = str2
str2 = temp
print("add(" + str1 + "," + str2 + ")=", end="")
print(*total, sep="")
if __name__== "__main__":
main()
(我將輸出保留在下面)該程序應該從文本文件中獲取輸入,然后添加兩個數字。 在 def readInput() 中,我試圖捕獲一些錯誤,例如缺少數字或數字之間的空格等。所以在第 10-11 行我需要輸出 add(a,b)=error,但出於某種原因,錯誤輸出在下一行,我嘗試使用 end='',但沒有幫助。 有人可以幫我解決這個問題。
添加(1,2)
=錯誤
添加(1, 2)
=錯誤
添加(1,)
=錯誤
添加(1,a)=錯誤
也許你應該改變這一行:
print(line+"=error")
到這一行:
print(line.replace("\n", "")+"=error")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.