金沙澳门官网网址Python基础(二)自定义函数

 

出口缓冲区:

  程序->输出缓冲区->显示器

奥门金沙网址,  程序的输出能够达到显示屏的标准化

  输出缓冲区内容显示在显示屏上的基准:

  1. 遇到\n
  2. 前后相继停止
  3. 输出缓冲区满了
  4. 行使fflush强制刷新
import time

    #获取当前系统时间
    def getCurTime(self):
        curTimeStr = time.strftime('%Y-%m-%d_%H-%M-%S',time.localtime()).decode('utf-8')
        return curTimeStr

scanf的运行原理

  1. scanf假如发掘输入缓冲区中从不东西,就运营录入
  2. scanf开掘输入缓冲区中有\n,那么她就能够去输入缓冲区取值
  3. 倘诺发现是温馨的菜就能够取走放到自身盘子里
  4. 只要不是友善的菜,就能够融洽回来了

奥门金沙网址 1

金沙澳门官网网址,   奥门金沙网址 2

www.js333com,    

//检查输入格式是或不是科学

#include <stdio.h>

int main() {

int num=0;//初阶化清零

printf("请输入三个数字:");

while (!scanf("%d",&num)) {

scanf("%*[^\n]");

scanf("%*c");

printf("输入格式错误!\n请输入贰个数字:");

}

printf("输入准确!num=%d\n",num);

return 0;

}

  奥门金沙网址 3

  每一趟使用scanf函数读数据后都须求清理输入缓冲区!

    

咱俩须要活动转成整型,意思乃是,读出来的和大家输入的大同小异,不过,大家不能够直接用int转换,原因吧,大家鞭比不上腹鲜明读的各样单元格的值都是数字

输入缓冲区

  键盘—》键盘缓冲区—》输入缓冲区—》程序

  大家在键盘上输入的别样东西,会先进入输入缓冲区区域,然后程序从输入缓冲区里把数据多少个叁个读出来。

输入缓冲区的治本艺术:

  先踏向的数字会被先读出来(输入缓冲区里把前边的数字读走了,本事读后边的数字)

  1. scanf正是从输入缓冲区里拿数字,假诺输入缓冲区的剧情和scanf钦定的格式类型不平等,它就不动,不会把输入缓冲区里的别样内容转移走。
  2. 因此你用scanf读四个%d,输入缓冲区输入一个[a 10],用scanf读取贰个大背头的时候,它读出来的a开采不是二个整数,它又把那几个a放回去了。下回再读,还是读的那几个a。a始终堵在缓冲区内,前面包车型客车数据10读不到。
  3. 为了缓和这些主题素材,大家在历次读取一个多少后,把输入缓冲区里的多寡全清理掉,小编不管里面有啥样,小编这一次读完了现在也不管本次是读到照旧没读到,反正笔者此番读完了以往把输入缓冲区全体清理掉,这样的话作者保障你下一次读的时候是二个新的初叶。
  4. 每一趟读完二个数量后,把输入缓冲区里的多少总体清理掉,保证下贰回再读的时候势必是二个新的上马,那样就不会因为前三次的失实造成后叁回出标题。【清理输入缓冲区的目的:前边的输入出错了,保障不会默转潜移前面包车型地铁输入】

  每便读完一个数量后清理输入缓冲区,保险前边的输入出错了,不会影响前面包车型客车输入

    scanf("%*[^\n]");

    scanf("%*c");

  输入缓冲区有诸有此类的三个特色:唯有当个中的数额读走的时候,才会免去那个数据。

  scanf和缓冲区中的数据类型分化等的时候,便无可奈何读走多少,可能会促成死循环。

解决地点难题的方法:

  scanf("%*[^\n]");//*轮廓读到的开始和结果,[^\n]任何非\n的字符;将\n以前的具备字符读走

  scanf("%*c");//从缓冲区读取三个字符忽视掉

  补充:scanf调用战败(主因:类型不相称)再次回到垃圾值。

char ch;

//下边两行可以完全请空缓冲区中的豆蔻梢头行内容

scanf("%*[^\n]");//先将换行符此前的具有故事情节都清掉

scanf("%c", &ch);//再将\n从输入缓冲区读走

 

缓冲区:

 

举例:

奥门金沙网址 4

2、获取当前系统时间