input() 是 Python 的内置函数,用于从控制台读取用户输入的内容。input() 函数总是以字符串的形式来处理用户输入的内容,所以用户输入的内容可以包含任何字符。input() 函数的用法为:
str = input(tipmsg)
当按下回车键后 input() 读取就结束了
但是在较老的 Python 2.x 中情况就不一样了。Python 2.x 共提供了两个输入函数,分别是 input() 和 raw_input():比较强迫的是,Python 2.x input() 要求用户在输入字符串时必须使用引号包围,这有违 Python 简单易用的原则,所以 Python 3.x 取消了这种输入方式。
实际上 print() 函数完全可以同时输出多个变量,而且它具有更多丰富的功能。print() 函数的详细语法格式如下:
print (value,...,sep='',end='\n',file=sys.stdout,flush=False)
从上面的语法格式可以看出,value 参数可以接受任意多个变量或值,因此 print() 函数完全可以输出多个值。使用 print() 函数输出多个变量时,print() 函数默认以空格隔开多个变量,如果读者希望改变默认的分隔符,可通过 sep 参数进行设置。在默认情况下,print() 函数输出之后总会换行,这是因为 print() 函数的 end 参数的默认值是“\n”,这个“\n”就代表了换行。如果希望 print() 函数输出之后不会换行,则重设 end 参数即可。file 参数指定 print() 函数的输出目标,file 参数的默认值为 sys.stdout,该默认值代表了系统标准输出,也就是屏幕,因此 print() 函数默认输出到屏幕。实际上,完全可以通过改变该参数让 print() 函数输出到特定文件中。print() 函数的 flush 参数用于控制输出缓存,该参数一般保持为 False 即可,这样可以获得较好的性能。
PS:我是在VS下写的,我问了一下我学妹,貌似她没见过这种bug……
PS:#-*-coding:utf-8-*-貌似并不能解决这个bug(反正我没成功,大家可以自己试试)
name = input("姓名:")
number = input("学号:")
print("该学生姓名是",name,"该学生学号是",number)
print("原来的座位号是21",end='')
print("新的座位号是34",end='')
出现这个问题是由于UTF编码的问题,要解决中文编码的问题的话,可以将代码进行如下修改:
# coding=gbk
name = input("姓名:")
number = input("学号:")
print("该学生姓名是",name,"该学生学号是",number)
print("原来的座位号是21",end='')
print("新的座位号是34",end='')