格式化输出
name = '高园园'
num = 123456
score = 60.0
percent = score/120*100
print '%s的学号是%d,成绩为%.2f,成绩为总成绩的%.2f%%' %(name,num,score,percent)
# - 输入学生姓名;
# - 依次输入学生的三门科目成绩;
# - 计算该学生的平均成绩, 并打印;
# - 平均成绩保留一位小数点;
# - 计算该学生语文成绩占总成绩的百分之多少?并打印。eg: 78%;
name = raw_input('请输入学生姓名:')
math = float(raw_input('请输入数学成绩:'))
chinese = float(raw_input('请输入语文成绩:'))
english = float(raw_input('请输入英语成绩:'))
avg = (math + chinese + english) / 3
percent = chinese / (math + chinese + english)
print '%s的平均成绩为%.2f,语文成绩占总成绩的%.2f%%' % (name, avg, percent * 100)
# 判断闰年?
# 用户输入年份year, 判断是否为闰年?
# year能被4整除但是不能被100整除 或者 year能被400整除, 那么就是闰年;
INPUT = int(raw_input('请输入年份:'))
if INPUT % 4 == 0 and INPUT % 100 != 0 or INPUT % 400 == 0:
print '%d年是闰年'
else:
print '%d年不是闰年'
1. 输入年、月,输出本月有多少天。合理选择分支语句完成设计任务。
输入样例1:2004 2
输出结果1:本月29天
输入样例2:2010 4
输出结果2:本月30天
2. 用 if 判断输入的值是否为空?如果为空,报错Error
3. 根据用于指定月份,打印该月份所属的季节。
**提示: 3,4,5 春季 6,7,8 夏季 9,10,11 秋季 12, 1, 2 冬季
year = raw_input('请输入年份:')
month = raw_input('请输入月份:')
if year == '' or month == '':
print 'Error'
if month == 3 or month == 4 or month == 5:
print '本季度为春季'
if month == 6 or month == 7 or month == 8:
print '本季度为夏季'
if month == 9 or month == 10 or month == 11:
print '本季度为秋季'
if month == 12 or month == 1 or month == 2:
print '本季度为冬季'
if month == 1 or month == 3 or month == 5 or month == 7 or month == 8 or month == 10 or month == 11:
print '本月31天'
elif month == 4 or month == 6 or month == 9 or month == 12:
print '本月30天'
elif month == 2 and year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
print '本月29天'
else:
print '本月28天'
猜拳
import random
player = int(raw_input('请输入你要出的拳(石头1/剪刀2/布3):'))
computer = random.randint(1,3)
if (player == 1 and computer == 2) or (player == 2 and computer == 3) or (player == 3 and computer == 1):
print '玩家赢'
elif player == computer:
print '平局'
else:
print '玩家输'
# 输入一行字符,统计其中有多少个单词,每两个单词之间以空格隔开。
# 如输入: This is a c++ program. 输出:There are 5 words in the line.
a = raw_input('请输入一串英文字符:')
m = a.split()
b = len(m)
print 'There are %d words in the line.' % b
# 给出一个字符串,在程序中赋初值为一个句子,例如
# "he threw three free throws",
# 自编函数完成下面的功能:
# 1)求出字符列表中字符的个数(对于例句,输出为26)
a = raw_input('请输入一串字符:')
b = len(a)
print b
# 给定一个字符串来代表一个学生的出勤纪录,这个纪录仅包含以下三个字符:
# 'A' : Absent,缺勤
# 'L' : Late,迟到
# 'P' : Present,到场
# 如果一个学生的出勤纪录中不超过一个'A'(缺勤)并且不超过两个连续的'L'(迟到),
# 那么这个学生会被奖赏。
# 你需要根据这个学生的出勤纪录判断他是否会被奖赏。
# 示例 1:
# 输入: "PPALLP"
# 输出: True
# 示例 2:
# 输入: "PPALLL"
# 输出: False
a = raw_input('请输入:')
print a.count('A') <= 1 and a.count('LLL') == 0
打印菱形
n = int(raw_input('请输入一个奇数:'))
for i in range(1, n, 2):
print ('*' * i).center(3 * n)
for i in range(n, 0, -2):
print ('*' * i).center(3 * n)
0~100之间所有数字的累积求和
i = 0
n = 0
while i <= 100:
n += i
i += 1
print '0~100之间所有数字的累积求和的结果为%d' % n
计算0~100之间所有偶数的累积求和
i = 0
n = 0
while i <= 100:
if i % 2 == 0:
n += i
i += 1
print '0~100之间所有偶数的累积求和的结果为%d' % n
计算0~100之间所有奇数的累积求和
i = 0
n = 0
while i <= 100:
if i % 2 == 1:
n += i
i += 1
print '0~100之间所有偶数的累积求和的结果为%d' % n
在控制台连续输出五行*,每一行星号的数量依次递增
raw = 1
while raw <= 5:
col = 1
while col <= raw:
print '*',
col += 1
raw += 1
print ''
打印九九乘法表
raw = 1
while raw <= 9:
col = 1
while col <= raw:
print '%d*%d=%d\t' % (raw, col, raw * col),
col += 1
raw += 1
print ''
# 猜数字游戏
#
# 1. 系统随机生成一个1~100的数字;
# 2. 用户总共有5次猜数字的机会;
# 3. 如果用户猜测的数字大于系统给出的数字,打印“too big”;
# 4. 如果用户猜测的数字小于系统给出的数字,打印"too small";
# 5. 如果用户猜测的数字等于系统给出的数字,打印"恭喜",并且退出循环;
import random
num = random.randint(1, 100)
i = 0
while i < 5:
j = int(raw_input('请输入你要猜的数字:'))
if j > num:
print 'too big'
elif j < num:
print 'too small'
else:
print '恭喜'
break
i += 1
实现命令行提示符雏形
import os
while True:
cmd = raw_input('[kiosk@foundation5 python]$ ')
if cmd:
if cmd == 'exit':
print 'layout'
break
else:
print 'run %s' % cmd
os.system(cmd)
# 用户登陆程序需求:
# 1. 输入用户名和密码;
# 2. 判断用户名和密码是否正确? (name='root', passwd='westos')
# 3. 为了防止暴力破解, 登陆仅有三次机会, 如果超过三次机会, 报错提示;
for i in range(3):
name = raw_input('用户名:')
passwd = raw_input('密码:')
if name == 'root' and passwd == 'westos':
print '登陆成功'
break
else:
print '登陆失败'
print '你还剩%d次机会' % (2 - i)
i += 1
else:
print '请过一会在登陆'
# 输入两个数值:
# 求两个数的最大公约数和最小公倍数.
# 最小公倍数=(num1*num2)/最大公约数
num1 = int(raw_input('nmu1:'))
num2 = int(raw_input('num2:'))
min_num = min(num1, num2)
for i in range(min_num, 0, -1):
if num1 % i == 0 and num2 % i == 0:
m = i
break
n = num1 * num2 / m
print '%d和%d的最大公约数为%d' % (num1, num2, m)
print '%d和%d的最小公倍数为%d' % (num1, num2, n)# 输入两个数值:
# 求两个数的最大公约数和最小公倍数.
# 最小公倍数=(num1*num2)/最大公约数
变量名是否合法?
# #
# # 变量名可以由字母,数字或者下划线组成;
# # 变量名只能以字母或者下划线开头;
#
# s = "hello@"
# 1. 判断变量名的第一个元素是否为字母或者下划线; s[0]
# 2. 如果第一个元素符合条件, 判断除了第一个元素的其他元素;s[1:]
i = raw_input('请输入变量名:')
if i[0].isalpha() or i[0] == '_':
for j in i[1:]:
if not(j.isalnum() or j == '_'):
print '变量名不合法'
break
else:
print '变量名合法'
else:
print '变量名不合法'
示例 1:
输入: 121
输出: true
示例 2:
输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:
输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数。
i = raw_input('请输入:')
if i == i[::-1]:
print '%s是回文数' % i
else:
print '%s不是回文数' % i
(2017-小米-句子反转)
- 题目描述:
> 给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前>后没有空格。
比如: (1) “hello xiao mi”-> “mi xiao hello”
- 输入描述:
> 输入数据有多组,每组占一行,包含一个句子(句子长度小于1000个字符)
- 输出描述:
> 对于每个测试示例,要求输出句子中单词反转后形成的句子
- 示例1:
```
- 输入
hello xiao mi
- 输出
mi xiao hello
i = raw_input('请输入:')
j = i.split()
k = " ".join(j[::-1])
print k
1. 设计一个程序,帮助小学生练习10以内的加法
详情:
- 随机生成加法题目;
- 学生查看题目并输入答案;
- 判别学生答题是否正确?
- 退出时, 统计学生答题总数,正确数量及正确率(保留两位小数点);
import random
tr = 0
all = 0
while True:
n = random.randint(1, 10)
m = random.randint(1, 10)
print '%d+%d=' % (n, m),
ans = int(raw_input(''))
if ans == n + m:
tr += 1
all += 1
choose = raw_input('do you want continue,enter enter to continue:')
if choose != '':
break
print '您总共答了%d道题,答对了%d道,正确率%.2f%%' % (all,tr,float(tr)/all*100.0)
2. 小学生算术能力测试系统:
设计一个程序,用来实现帮助小学生进行百以内的算术练习,它具有以下功能:
提供10道加、减、乘或除四种基本算术运算的题目;
练习者根据显示的题目输入自己的答案,程序自动判断输入的答案是否正确并显示出相应的信息。
import random
op = ['+', '-', '*', '/']
s = random.choice(op)
while True:
s = random.choice(op)
m = random.randint(1, 10)
n = random.randint(1, 10)
if s == '+':
print '%d+%d=' % (m, n),
input = int(raw_input(''))
if input == m + n:
print '回答正确'
else:
print '回答错误,正确答案为%d' % (m + n)
elif s == '*':
print '%d*%d=' % (m, n),
input = int(raw_input(''))
if input == m * n:
print '回答正确'
else:
print '回答错误,正确答案为%d' % (m * n)
elif s == '-':
if m > n:
print '%d-%d=' % (m, n),
input = int(raw_input(''))
if input == m - n:
print '回答正确'
else:
print '回答错误,正确答案为%d' % (m - n)
else:
print '%d-%d=' % (n, m),
input = int(raw_input(''))
if input == n - m:
print '回答正确'
else:
print '回答错误,正确答案为%d' % (n - m)
else:
print '%d/%d=' % (m, n),
input = int(raw_input(''))
if input == m / n:
print '回答正确'
else:
print '回答错误,正确答案为%d' % (m / n)
choose = raw_input('do you want continue,enter enter to continue:')
if choose != '':
break
3. 算法之指定范围内判断
1). 若一个正整数n的所有小于n的因子之和等于n, 则称n为完全数, 如6=1+2+3是完全数。判断正整数n是否为完全数。
INPUT = int(raw_input('请输入:'))
n = 0
for i in range(1,INPUT):
if INPUT % i == 0:
n += i
if n == INPUT:
print '%d 是完全数' % INPUT
else:
print '%d不是完全数' % INPUT
2). 输入一个正整数,判断其是否为一个素数
INPUT = int(raw_input('请输入:'))
for i in range(2, INPUT):
if INPUT % i == 0:
print '%d 不是素数' % INPUT
break
else:
print '%d 是素数' % INPUT