'''(Tab)处缩进代码'''
from random import choice
def code():
(Tab)a = choice(lista)
(Tab)return a
if __name__ == "__main__":
(Tab)#print(code())
(Tab)while True:
(Tab)(Tab)gcode = code()
(Tab)(Tab)guess = input("输入0<石头>∣1<剪刀>〡2<布>:\t")
(Tab)(Tab)if (guess == "0" and gcode == "石头") or (guess == "1" and gcode == "剪刀") or (guess == "2" and gcode == "布"):
(Tab)(Tab)(Tab)print(f"right:{guess}=={gcode}")
(Tab)(Tab)(Tab)break
(Tab)(Tab)else:
(Tab)(Tab)(Tab)print(f"wrong:{guess}!={gcode}")
'''运行效果
输入0<石头>∣1<剪刀>〡2<布>: 1
wrong:1!=石头
输入0<石头>∣1<剪刀>〡2<布>: 0
wrong:0!=剪刀
输入0<石头>∣1<剪刀>〡2<布>: 2
wrong:2!=石头
输入0<石头>∣1<剪刀>〡2<布>: 1
right:1==剪刀
'''
我也出现过这样的问题,如果在本脚本执行while的话,如果使用一些模块,有时候会出错。比如使用websocket的时候,(可能自己水平也不行,找了半天没发现出错的原因),后来放弃本脚本while。
我是这样解决的:
写一个脚本,如a.py,使用os.system(cmd) (或是其他模块) 来运行b.py。
至于b.py什么时候退出,就看你自己了
PS:至于这样做是否会影响效率,因为程序小,就不在考虑范围内了
例:
#!/usr/bin/python# -*- coding: utf-8 -*-
# encoding: utf-8
import os
if __name__ == '__main__':
while 1:
cmd = 'python D:\\b.py' #必须转义'\'
os.system(cmd)
python源程序执行的方式如下:
1、在命令行输入ipython或ipython3进入交互式shell环境,如果不行的话需要安装ipython和python镜像,配置方式:pip3 install ipython -i ctrl+D或者exit 推出ipython ipython的优点:支持自动补全和执行linux命令。
2、在命令行窗口输入python (官方的shell),在这里可以直接输入python程序代码,退出用exit() 或者 ctrl+D。
3、集成开发环境:PyCharm 类似IDEA,推荐教程: 《Python教程》。
编译执行
所谓编译执行就是源代码经过编译器编译处理,生成目标机器码,就是机器能直接运行的二进制代码,下次运行时无需重新编译。不过它是针对特定CPU体系的,这些目标代码只能在特定平台执行。
如果这个程序需要在另外一种 CPU 上面运行,这个代码就必须重新编译。它不具备可移植性,但是执行速度快,C、C++这类语言属于编译型语言。