Python 15

  1. 课上代码
#全局变量(global variable)和局部变量(local variable)和差别
def discounts(price, rate):
    final_price = price * rate
    print("这里试图打印全局变量old_price的值:", old_price)
    return final_price

old_price = float(input("请输入原价:"))
rate = float(input('请输入折扣率:'))
new_price = discounts(old_price, rate)
print('打折后价格是:', new_price)

>>> 
=================== RESTART: C:/Users/xin/Desktop/test.py ===================
请输入原价:100
请输入折扣率:0.8
这里试图打印全局变量old_price的值: 100.0
打折后价格是: 80.0
def discounts(price, rate):
    final_price = price * rate
    #print("这里试图打印全局变量old_price的值:", old_price)
    old_price = 50
    print('修改后old_price的值1是:', old_price)
    return final_price

old_price = float(input("请输入原价:"))
rate = float(input('请输入折扣率:'))
new_price = discounts(old_price, rate)
print('修改后old_price的值2是:',old_price)
print('打折后价格是:', new_price)

>>> 
=================== RESTART: C:/Users/xin/Desktop/test.py ===================
请输入原价:100
请输入折扣率:0.8
修改后old_price的值1是: 50
修改后old_price的值2是: 100.0
打折后价格是: 80.0

二. 测试题

  1. 目测以下程序会打印什么内容
def fun(var):
    var = 1314
    print(var, end = '')
    
var = 520
fun(var)
print(var)
1314520
  1. 目测一下程序会打印什么内容
var = ' Hi '

def fun1():
    global var
    var = ' Baby '
    return fun2(var)
    
def fun2(var):
    var += 'I love you'
    fun3(var)
    return var

def fun3(var):
    var = ' Jack '
    
print(fun1())
 Baby I love you

三. 动动手

  1. 编写一个函数,判断传入的字符串参数是否为回文联,也就是既可顺读,也可倒读,例如:abcba
#个人代码
#没有编写函数,而且比较复杂,需要把一句话拆成两段再比较是不是相同
checking_string = input("Please input a sentence: ")
length = len(checking_string)
half_length = length // 2
L1 = []
L2 = []

checking_string1 = checking_string[ : (half_length + 1)]
checking_string2 = checking_string[half_length : ]

length1 = len(checking_string1)
length2 = len(checking_string2)
for i in range(0, length1):
    L1.append(checking_string1[i])
for j in range(length2 - 1, -1, -1):
    L2.append(checking_string2[j])
    

if L1 == L2:
    print("Yes!")
else:
    print("No!")
#参考代码1
def palindrome(string):
    length = len(string)
    last = length - 1
    length //= 2
    flag = 1
    for each in range(length):
        if string[each] != string[last]:
            flag = 0
        last -= 1
        
    if flag == 1:
        return 1
    else:
        return 0
        
string = input("Please input a sentence: ")
if palindrome(string) == 1:
    print("Yes!")
else:
    print("No!")
#参考代码2
def palindrome(string):
    list1 = list(string)
#这一步想到了,但就是不知道怎么实现
    list2 = reversed(list1)
    if list1 == list(list2):
        return "Yes!"
    else:
        return "No!"
print(palindrome('abcba'))

二. 编写一个函数,分别统计处传入字符参数(可能不止一个参数)的英文字母,空格,数字和其他字符的个数

#个人代码
#还是没有写出函数,另外这只能测试一个参数
alphabets = 'QWERTYUIOPLKJHGFDSAZXCVBNMqwertyuioplkjhgfdsazxcvbnm'
number = '0123456789'
other_character = "~`!@#$%^&*()_+-={}|[]\:;'<>?,./"
num_alphabets = 0
num_number = 0
num_other_character = 0
num_space = 0

string = input("Please input a sentence: ")
for i in string:
    if i in alphabets:
        num_alphabets += 1
    elif i == ' ':
        num_space += 1
    elif i in number:
        num_number += 1
    elif i in other_character:
        num_other_character += 1
        
print(num_alphabets, num_number, num_other_character, num_space)
#参考代码
def count(*param):
    length = len(param)
    for i in range(length):
        letters = 0
        space = 0 
        digit = 0
        others = 0
        for each in param[i]:
            if each.isalpha():
                letters += 1
            elif each.isdigit():
                digit += 1
            elif each == ' ':
                space += 1
            else:
                others += 1
        print('第%d个字符串共有:英文字母%d个,数字%d个,空格%d个,其他字符%d个。' % (i + 1, letters, digit, space, others))

count('I love fishc.com.', 'I love you, you love me.')
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容

  • 5.4使用if语句处理列表 5.4.1检查特殊元素 这家比萨店在制作比萨时,每添加一种配料都打印一条消息。 5.4...
    三千院贺Hall阅读 210评论 1 0
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,454评论 25 707
  • 一黑一白两扭蛋你捡起黑,说我喜欢神秘 未知的绳索拉着惊奇的尾巴直向前方奔去不容许暗示禁止一切猜想 然而与臆测无关的...
    鉛筆羊阅读 101评论 1 2
  • 喜欢一个人,但是只会偷偷喜欢。不敢靠太近,怕被发现被拒绝。又怕了解之后没有想象中那么好。当他靠近你的时候,会紧张但...
    金水金水阅读 85评论 0 0
  • 有时候,那些“脾气好”的人,其实不是不会生气,而是对于他们来说,比起生气还有更重要的东西,需要他们去用心守护。生活...
    MC小五阅读 490评论 1 2