Python读取键盘输入

Python读取键盘输入

  1. 读取单行输入
    raw_input()/input()返回的结果中不包含末尾的换行符
    sys.stdin.readline()返回的结果包含了末尾的换行符\n
  2. 读取多行输入
    编程案例:
    题目描述:牛牛想尝试一些新的料理,每个料理需要一些不同的材料,问完成所有的料理需要准备多少种不同的材料。
    输入描述:每个输入包含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)

你可能感兴趣的:(Algorithms&Data,Structures,Python,键盘输入,sys,input,stdin)