因此,在我的程序工作时,我试图读取一个文件,带回所有包含的信息。而另一个函数则拆分列表并随机生成包含的字符串。如果不是字符串,请重试
不幸的是,我的程序在这样做的时候突然崩溃了,完全拒绝服从,或者只是给了我一个错误,或者是的,突然崩溃了
所以现在我在寻找一种只读取字符串对象的方法,这样我就可以跳过检查它是否是整数的整个部分
import random
from random import randrange
def readfile(file):
try:
f = open(file, 'r')
fil = f.readlines()
f.close()
return fil
except IOError:
print('fil finns inte')
return None
def chooseword(lista):
while True:
lista = random.choice(lista)
ordet = lista.split()
x = randrange(len(ordet))
ord = ordet[x]
try:
if ord.isalpha:
return ord
except:
print("none")
print(chooseword(readfile("file.txt")))
我试过使用random.choice而不是randrange,这没什么区别
那么,我如何继续只导入字符串对象,比如words,例如:Banan而不是123或123¤%&
谢谢
谢谢
你的代码有很多错误。最突出的问题是在
chooseword
函数中。如果您读取的第一个字符串不是字母字符串,那么您将有一个无限循环,因为您用随机元素的值覆盖lista
,因此,当您再次迭代循环时,您将一遍又一遍地读取同一个元素,并且永远不会退出循环检查字符串是否只包含字母是函数调用,因此必须调用
.isalpha()
。另外,如果您命中了一个非alpha字符串,那么我怀疑您希望命中except(假设快5倍:))并打印'none'
…这在您的代码中永远不会发生。只需使用if, else
条件您的固定代码:
PS公司
这是罕见的代码“拒绝服从”;)。记住,电脑是愚蠢的,完全按照我们告诉他们的去做
相关问题 更多 >
编程相关推荐