Python基本语句练习题

1、

计算0~100之间所有奇数的累积求和
i = 0
result = 0

while i <= 100:
    if i % 2 != 0:
        print i
        result +=i
    i += 1
print '0~100之间的奇数累加的结果是 %d' %result

2、

在控制台连续输出五行*,每一行星号的数量依次递增
row = 1
while row <= 5:
    col = 1
    while col <= row:
        #print '%d' % col
        print '*',
        col += 1
    # print '*'
    #print '第 %d 行' % row
    # 这行代码的目的,就是在一行小星星输出完成后,添加换行
    print ''
    row += 1

#print '*',:逗号表示不换行

# print '':这行代码的目的,就是在一行小星星输出完成后,添加换行

3、

row = 1
while row <= 9:
    col = 1
    while col <= row:
        print '%d * %d = %d\t' % (row, col, col * row),
        col += 1
    # print '%d' % row
    print ''
    row += 1

注意:

\t:在控制台输出一个制表符,协助我们在输出问文本时在垂直方向保持对齐
 \n:在控制台输出一个换行符
 \:转义字符
4、

猜数字游戏
     1. 系统随机生成一个1~100的数字;
     2. 用户总共有5次猜数字的机会;
     3. 如果用户猜测的数字大于系统给出的数字,打印“too big”;
     4. 如果用户猜测的数字小于系统给出的数字,打印"too small";
     5. 如果用户猜测的数字等于系统给出的数字,打印"恭喜",并且退出循环;

import random
game = random.randint(1, 100)
i = 0
while i < 5:
    d = 4 - i
    player = int(raw_input('请输入您所猜的数字:'))
    if (player > game):
        print 'too big'
    elif (player < game):
        print'too small'
    else:
        print '恭喜'
        break
        
    i += 1
    print '您还有%d次机会' % d print game
print game

5、

break实现命令行提示符雏形
import os
while True:
    cmd = raw_input('[kiosk@test ~]$')
    if cmd:
        if cmd == 'exit':
            print 'logout'
            break
            print 'hello'
        else:
            print 'run %s' % cmd
            # 运行shell命令
            os.system(cmd)
    else:
        continue
        #print 'hello'

 

6、

生成连续数字

生成固定范围内的偶数/奇数

1.拿出1~10之间的所有奇数

2.拿出1~10之间的所有偶数

#range(stop): 0~stop 1
range(start,stop):start-stop 1
range(start,stop,step): start~stop step(步长)

 例题:

 for i in range(5):

    print i

 1.求1~100之间的所有偶数之和
sum = 0
for i in range(2,101,2):
    sum += i
print sum


2.求1~100之间的所有奇数之和
sum1 = 0
for i in range(1,101,2):
    sum1 += i
print sum1

 3.用户输入一个整型数,求该数的阶乘

如:3 = 3*2*1
num = int(raw_input('Num:'))
res = 1
for i in range(1,num+1): # num:3 rang(1,4)== 1,2,3
    res = res * i
print '%d 的结果是:%d' %(num,res)

7、

   用户登陆程序需求:
    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)

# 循环执行结束后执行的代码
else:
    print '登陆次数超过三次,请等待100s后再次登陆'

8、

输入两个数值:
    求两个数的最大公约数和最小公倍数.
    最小公倍数=(num1*num2)/最大公约数
num1 = int(raw_input('Num1:'))
num2 = int(raw_input('Num2:'))
min_num = min(num1, num2)
for i in range(1, min_num + 1):
    if num1 % i == 0 and num2 % i == 0:
        # 当循环结束,保存最大公约数
        gys = i
lcm = (num1 * num2)/gys
print '%s和%s的最大公约数为%s' %(num1,num2,gys)
print '%s和%s的最小公倍数为%s' %(num1,num2,lcm)

9、

判断变量是否合法
# # 变量名可以由字母,数字或者下划线组成;
# # 变量名只能以字母或者下划线开头;
# s = "hello@"
# 1. 判断变量名的第一个元素是否为字母或者下划线; s[0]
# 2. 如果第一个元素符合条件, 判断除了第一个元素的其他元素;s[1:]
while True:
    s = raw_input('变量名:')
    if s == 'exit':
        print '欢迎再次使用'
        break
    if s[0].isalpha() or s[0] == '_':
        for i in s[1:]:
            if not (i.isalnum() or i == '_'):
                print '%s变量名不合法 ' % s
                break
        else:
            print '%s 变量名合法' % s
    else:
        print '%s变量名不合法' % s

10、

回文数的判断:

示例 1:
        输入: 121
        输出: true
示例 2:
        输入: -121
        输出: false
        解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:
        输入: 10
        输出: false
        解释: 从右向左读, 为 01 。因此它不是一个回文数。
num = raw_input('Num:')
if num == num[::-1]:
    print '这是一个回文数'
else:
    print '这不是一个回文数'

11、

 题目描述:
 给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前>后没有空格。
比如: (1) “hello xiao mi”-> “mi xiao hello”

输入描述:
输入数据有多组,每组占一行,包含一个句子(句子长度小于1000个字符)
输出描述:
对于每个测试示例,要求输出句子中单词反转后形成的句子

示例1:
- 输入
    hello xiao mi
- 输出
    mi xiao hello


li = raw_input().split()
print ' '.join(li[::-1])


 

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值