python如何重复执行代码?

Python016

python如何重复执行代码?,第1张

'''将欲重复执行的代码写入while… break语句中'''

'''(Tab)处缩进代码'''

from random import choice

def code():

(Tab)lista =["石头", "剪刀", "布"]

(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++这类语言属于编译型语言。