Python读取键盘输入
- 读取单行输入
raw_input()/input()返回的结果中不包含末尾的换行符
sys.stdin.readline()返回的结果包含了末尾的换行符\n - 读取多行输入
编程案例:
题目描述:牛牛想尝试一些新的料理,每个料理需要一些不同的材料,问完成所有的料理需要准备多少种不同的材料。
输入描述:每个输入包含1个测试用例。每个测试用例的第i行,表示完成第i件料理需要哪些材料,每个材料用空格隔开,输入只包含大写英文字母和空格,输入文件不超过50行,每一行不超过50个字符
输出描述:输出一行一个数字表示完成所有料理需要多少种不同的材料。
示例
输入:
BUTTER FLOUR
HONEY FLOUR EGG
输出
4
# -*- coding: utf-8 -*-
# @Time : 2019/11/8 15:54
# @Author : Xinzhe
# @File : KeyBoardInput.py
# @Software: PyCharm
# 1.读取单行数据
# raw_input()/input()返回的结果中不包含末尾的换行符
# sys.stdin.readline()返回的结果包含了末尾的换行符\n
import sys
def Sysstdin():
sys.stdout.write("1.根据两点坐标计算直线斜率k,截距b:\n")
for line in sys.stdin:
if line == '\n':
break
x1, y1, x2, y2 = (float(x) for x in line.split())
k = (y2 - y1) / (x2 - x1)
b = y1 - k * x1
sys.stdout.write('斜率:{},截距:{}\n'.format(k, b))
def Sysreadline():
sys.stdout.write("2.根据两点坐标计算直线斜率k,截距b:\n")
while True:
line = sys.stdin.readline()
if line == '\n':
break
x1, y1, x2, y2 = (float(x) for x in line.split())
k = (y2 - y1) / (x2 - x1)
b = y1 - k * x1
sys.stdout.write('斜率:{},截距:{}\n'.format(k, b))
def Sysinput():
print('3.根据两点坐标计算直线斜率k,截距b:')
line = input()
x1, y1, x2, y2 = (float(x) for x in line.split())
k = (y2 - y1) / (x2 - x1)
b = y1 - k * x1
sys.stdout.write('斜率:{},截距:{}\n'.format(k, b))
# 题目描述:牛牛想尝试一些新的料理,每个料理需要一些不同的材料,问完成所有的料理需要准备多少种不同的材料。
# 输入描述:每个输入包含1个测试用例。每个测试用例的第i行,表示完成第i件料理需要哪些材料,每个材料用空格隔开,输入只包含大写英文字母和空格,输入文件不超过50行,每一行不超过50个字符
# 输出描述:输出一行一个数字表示完成所有料理需要多少种不同的材料。
# 示例
# 输入:
# BUTTER FLOUR
# HONEY FLOUR EGG
# 输出
# 4
def Material():
print('牛牛下厨房,计算所需材料总数')
a = []
for line in sys.stdin:
if line.strip() == '':
break
a.extend(line.split())
print(len(set(a)))
if __name__ == '__main__':
print('读取单行数据:')
Sysstdin()
Sysreadline()
Sysinput()
print('读取多行数据:')
Material()
Tips
x = int(input()) #读取单个数据
m, n = map(int, input().split()) # 读取两个数据
nums = list(map(int, input().split())) #读取多个数据
print(x)
print(m, n)
print(nums)