循环意外退出 Python
Loop exits unexpectedly Python
我正在制作一个程序,它使用 ASCII 艺术编写的 A-Z 文件。该程序需要 3 行输入:高度、宽度和要写入的单词(全部大写和空格)。我已经设法让程序打印迭代的第一个字母,但由于某种原因,我设置的 for 循环似乎刚刚停止。
temp = []
hi = input('Height: ')
wi = input('Width: ')
tx = input('Text: ')
fi = open("font.txt")
for n in range(len(tx)):
for i in tx:
temp = cd[i]
var1 = int(temp[0])
ra1 = (var1 * int(hi))
ra1n = (ra1 + int(hi))
temp = []
lines = fi.readlines()
print(''.join(lines[ra1:ra1n]), end='')
这是它输出的内容
Height: 8
Width: 9
Text: WOW
|\ /|
| ) ( |
| | _ | |
| |( )| |
| || || |
| () () |
(_______)
您正在尝试重读 font.txt
而不倒回文件位置。
要么添加一个file.seek(0)
调用,要么在循环外一次读取文件;在循环外使用 lines = fi.readlines()
比每次都使用 fi.seek(0)
更有效。
你的循环也太多了;你不需要在这里遍历 range(len(tx))
,因为你已经遍历了 tx
本身。
with open("font.txt") as fi:
lines = fi.readlines()
for character in tx:
var1 = int(cd[character])
ra1 = (var1 * int(hi))
ra1n = (ra1 + int(hi))
print(''.join(lines[ra1:ra1n]), end='')
在 lines = fi.readlines()
之前的循环中尝试 file.seek(0)
。
temp = []
hi = input('Height: ')
wi = input('Width: ')
tx = input('Text: ')
fi = open("font.txt")
for n in range(len(tx)):
for i in tx:
temp = cd[i]
var1 = int(temp[0])
ra1 = (var1 * int(hi))
ra1n = (ra1 + int(hi))
temp = []
fi.seek(0) # Here
lines = fi.readlines()
print(''.join(lines[ra1:ra1n]), end='')
或打开 file
循环。
temp = []
hi = input('Height: ')
wi = input('Width: ')
tx = input('Text: ')
for n in range(len(tx)):
for i in tx:
temp = cd[i]
var1 = int(temp[0])
ra1 = (var1 * int(hi))
ra1n = (ra1 + int(hi))
temp = []
fi = open("font.txt") # Here
lines = fi.readlines()
print(''.join(lines[ra1:ra1n]), end='')
我正在制作一个程序,它使用 ASCII 艺术编写的 A-Z 文件。该程序需要 3 行输入:高度、宽度和要写入的单词(全部大写和空格)。我已经设法让程序打印迭代的第一个字母,但由于某种原因,我设置的 for 循环似乎刚刚停止。
temp = []
hi = input('Height: ')
wi = input('Width: ')
tx = input('Text: ')
fi = open("font.txt")
for n in range(len(tx)):
for i in tx:
temp = cd[i]
var1 = int(temp[0])
ra1 = (var1 * int(hi))
ra1n = (ra1 + int(hi))
temp = []
lines = fi.readlines()
print(''.join(lines[ra1:ra1n]), end='')
这是它输出的内容
Height: 8
Width: 9
Text: WOW
|\ /|
| ) ( |
| | _ | |
| |( )| |
| || || |
| () () |
(_______)
您正在尝试重读 font.txt
而不倒回文件位置。
要么添加一个file.seek(0)
调用,要么在循环外一次读取文件;在循环外使用 lines = fi.readlines()
比每次都使用 fi.seek(0)
更有效。
你的循环也太多了;你不需要在这里遍历 range(len(tx))
,因为你已经遍历了 tx
本身。
with open("font.txt") as fi:
lines = fi.readlines()
for character in tx:
var1 = int(cd[character])
ra1 = (var1 * int(hi))
ra1n = (ra1 + int(hi))
print(''.join(lines[ra1:ra1n]), end='')
在 lines = fi.readlines()
之前的循环中尝试 file.seek(0)
。
temp = []
hi = input('Height: ')
wi = input('Width: ')
tx = input('Text: ')
fi = open("font.txt")
for n in range(len(tx)):
for i in tx:
temp = cd[i]
var1 = int(temp[0])
ra1 = (var1 * int(hi))
ra1n = (ra1 + int(hi))
temp = []
fi.seek(0) # Here
lines = fi.readlines()
print(''.join(lines[ra1:ra1n]), end='')
或打开 file
循环。
temp = []
hi = input('Height: ')
wi = input('Width: ')
tx = input('Text: ')
for n in range(len(tx)):
for i in tx:
temp = cd[i]
var1 = int(temp[0])
ra1 = (var1 * int(hi))
ra1n = (ra1 + int(hi))
temp = []
fi = open("font.txt") # Here
lines = fi.readlines()
print(''.join(lines[ra1:ra1n]), end='')