看了输入提示还是没有头绪……感觉不知道怎么做到分行输入,麻烦大家帮帮我,真的很感谢!
import math
def is_prime(number):
for i in range(2, int(math.sqrt(number)) + 1):
if number % i == 0:
return False
return True
while True:
n = input()
if n == 'q':
break
else:
print("T" if is_prime(int(n)) else "F")
#include <stdio.h>
int isprime(int n)
{
if (n < 2) return 0;
for (int i = 2; i < n / 2; i++)
if (n % i == 0) return 0;
return 1;
}
int main() {
int n;
while (scanf("%d", &n) == 1) {
if (isprime(n)) printf("T\n"); else printf("F\n");
}
return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话:需要注意的几点:
下面,就用之前的文件检索方法,演示修饰器的使用。
#coding:utf-8
"""
Note:
获取文件的改变
Author:redsun
Data:2019/7/10
"""
import re
import time
import os
def WarpperHead(fun):
'''
给函数添加最外层修饰
:param fun: 被修饰的函数名
:return:
'''
def HelpInfoHead( File_Path, KeyWord):
'''
外层修饰
:param File_Path: 参数
:param KeyWord: 参数
:return:
'''
file_name = os.path.basename(File_Path)
print('---'* 20)
print('Search File ({file_name}) about "({KeyWord})" Info ...'.format(file_name=file_name, KeyWord = KeyWord).title())
print(GetTime())
# 修饰的函数传递
fun(File_Path, KeyWord)
print ('End'.center(60))
print('---'* 20)
# 返回返回调用
return HelpInfoHead
def WarpperContent(fun):
def HelpInfoContent(*args):
'''
参数的传递
:param args:
:return:
'''
print('***' * 20)
fun(*args)
print('***' * 20)
return HelpInfoContent
def GetTime():
'''
返回当前时间
:return:
'''
return time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time()))
@WarpperHead
@WarpperContent
def GetFileKeyInfo(File_Path, KeyWord):
'''
检索文件中与关键字相关的行,并输出
:param File_Path: 文件路径
:param KeyWord: 关键字
:return: 输出关键字所在的行
'''
with open(File_Path) as f:
lines = f.readlines()
if len(lines) == 0:
print("日志文件为空".center(50, '='))
else:
count = 0
text = ''
for line in lines:
rs = re.search(KeyWord, line)
if rs:
count += 1
text += line
print('[命中{count}次]'.format(count=count))
print(text)
GetFileKeyInfo('E:\\TestCode\\PyCharmProjects\\xiaoxiang\\PrintFIileChange\\word', 'uiui')