1.输入转化成list tuple
values = input()
l=values.split(",")
t=tuple(l)
print(l)
print(t)
注意:
①input而不用raw_input,否则会报错
②print要加()否则报错
③输入即是按list格式的,所以只需分隔符隔开
另一写法
lst=input().split(",")
tpl=tuple(lst)
print(lst)
print(tpl)
注意:
①直接input后split
②也可以把“,”换成空格 输入则空格再输入下一个即可
另外写法
print(tuple(input("Enter :").split(',')))
2.小写转大写输出
class InputOutString(object):
def __init__(self):
self.s=""
def get_string(self):#self必写
self.s=input()
def print_string(self):
print(self.s.upper())
str_obj = InputOutString()
str_obj.get_string()
str_obj.print_string()
注意:
① 最开始 class!!!不要错写成def
②self必有 其余的是其属性
③如果定义不写self 是类的调用
self的详细用法
3.计算题
Write a program that calculates and prints the value according to the given formula:
Q = Square root of [(2 _ C _ D)/H]
Following are the fixed values of C and H:
C is 50. H is 30.
D is the variable whose values should be input to your program in a comma-separated sequence.For example Let us assume the following comma separated input sequence is given to the program:
import math
c=50
h=30
value=[]
items=[x for x in input().split(',')]
for d in items:
value.append(str(int(round(math.sqrt(2*c*float(d)/h)))))
print(','.join(value))
注意:
①round 四舍五入
②math.引用数学公式
③ d以求浮点数 直接float(d)引用
4.数组生成
Question:
_Write a program which takes 2 digits, X,Y as input and generates a 2-dimensional array. The element value in the i-th row and j-th column of the array should be i _ j.
Note: i=0,1…, X-1; j=0,1,¡Y-1. Suppose the following inputs are given to the program: 3,5
Then, the output of the program should be:
[[0, 0, 0, 0, 0], [0, 1, 2, 3, 4], [0, 2, 4, 6, 8]]*
x,y = map(int,input().split(','))
lst = [[i*j for j in range(y)] for i in range(x)]
print(lst)
或者:
input_str = raw_input()
dimensions = [int(x) for x in input_str.split(',')]
row_num = dimensions[0]
col_num = dimensions[1]
multilist = [[0 for col in range(col_num)] for row in range(row_num)]
for row in range(row_num):
for col in range(col_num):
multilist[row][col] = row * col
print multilist
更推荐 解法一
map的用法
每一列填完再根据行写。∴ [] for row[]
所得到的是【】里面仍有嵌套的【】
5.字母 字符串排序
编写一个程序,该程序接受以逗号分隔的单词序列作为输入,并在按字母顺序对它们进行排序后以逗号分隔的顺序打印这些单词。
假设将以下输入提供给程序:
without,hello,bag,world
然后,输出应为:
bag,hello,without,world
items=[x for x in input().split(" ")]
items.sort()
print(','.join(items))
注意:
①sort()直接排序
②输入的是list 可直接说明分割开
或者一步步分开
lst = input().split(',')
lst.sort()
print(",".join(lst))
先输入 再排序 后打印
6.行序列输入
编写一个接受行序列作为输入的程序,并在使句子中的所有字符都大写之后打印行。
假设将以下输入提供给程序:
Hello world
Practice makes perfect
然后,输出应为:
HELLO WORLD
PRACTICE MAKES PERFECT
lines=[]
while True:
s=input()
if s:
lines.append(s.upper())
else:
break
for sentence in lines:
print(sentence)
①先生成空列表(是一句话lines)
②每句话输入后upper()转大写加入lines【】里面
③再打印 for in lines
另一个方法;
def inputs():
while True:
string = input()
if not string:
return
yield string
print(*(line.upper() for line in inputs()),sep='\n')
其中 yield用法
yield 的例子来源于文件读取。如果直接对文件对象调用 read() 方法,会导致不可预测的内存占用。好的方法是利用固定长度的缓冲区来不断读取文件内容。通过 yield,我们不再需要编写读文件的迭代类,就可以轻松实现文件读取
yield用法