这是代码
import os
myfile = ('filename.txt' ,'wb')
a = int(input('integer a: '))
b = int(input('integer b: '))
def cal(a,b):
while a>b:
a = a-1
print a
c = str(cal(a,b))
print c
myfile.writelines(c)
我只能在文件中写下最后一句话。请有人帮助我。
答案 0 :(得分:0)
即使你在cal函数结束时返回了一个,你也只能写一个数字。通过使用范围并将其转换为列表,然后使用空格加入该列表,您可以更轻松地完成整个事情
import os
smallNum= int(input('smaller integer a: '))
bigNum= int(input('bigger integer b: '))
with open('filename.txt' ,'w') as myFile:
myFile.write(" ".join([str(x) for x in list(range(smallNum+1,bigNum))]))
这行代码创建了两个nums之间所有数字的范围:
range(bigNum+1,smallNum)
然后转换为列表(整数)
list(range(bigNum+1,smallNum))
然后将其转换为具有列表推导的字符串列表
[str(x) for x in list(range(bigNum+1,smallNum))]
最后使用空格
连接列表中的每个项目 " ".join([str(x) for x in list(range(bigNum+1,smallNum))])
import os
smallNum = int(input('smaller integer a: '))
bigNum = int(input('bigger integer b: '))
writeString = "" #string to write to file later
for currentNum in range(smallNum+1, bigNum): #non-inclusive range of numbers
strNum = str(currentNum) #convert to string
writeString += strNum + " " #add the number and a space to the string
file = open("filename.txt", "w")
file.write(writeString)
file.close()