![](/img/trans.png)
[英]Cant determine whats causing an regex error, and would like some input on the efficiency of my program
[英]I cant find whats causing my program to stop working after i but everything into separate functions
因此,我最初具有外部功能。 意味着在任何地方都没有“ def”或“ return”。 并且所有显示都很好。
但是现在,我试图使用Main函数作为调用其他函数的开关。 我的输出消失了,当我输入'1'时,'1'会重复出现在我身上。 我很困惑自己在哪里犯错了。
然后,我尝试在输入“ a”后返回主函数,但我不知道该怎么做。
谁能帮我解决这个问题?
如果有帮助,请在树莓派上使用Thonny Python IDE。
这是我的代码:
import sys, random
def main():
slct= input()
if slct==1:
set1()
elif slct==2:
set2()
elif slct ==3:
set3()
return
def set1():
n1= random.randint(0,9)
pw1= random.randint(1,3)
print(n1)
if pw1==1:
print('one')
elif pw1:
print('ten')
else:
print('hundred')
return
def set2():
n2= random.randint(0,9)
pw2= random.randint(1,3)
print(n2)
if pw2==1:
print('thousand')
elif pw2:
print('ten thousand')
else:
print('hundred thousand')
return
def set3():
n3= random.randint(0,9)
pw3= random.randint(1,3)
print(n3)
if pw3==1:
print('one million')
elif pw3:
print('ten million')
else:
print('hundred million')
return
您需要调用main()。
在文件末尾添加main()
。
另外,除非您想返回任何值,例如您不需要return "passed"
否则您无需在每个函数的末尾添加return
。
我不知道您在用这段代码做什么,但是由于set1(),set2()和set3()是相同的,因此以下代码也与您的代码类似:
import sys, random
def main():
n1= random.randint(0,9)
pw1= random.randint(1,3)
print(n1)
if pw1==1:
print('one')
elif pw1:
print('ten')
else:
print('hundred')
return
main()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.