Weak3 Chapter5 Homework

5-2 更多的测试条件

#检查字符串相等和不等,lower()的测试
cars = ["audi","BMW","Subaru","toyato"]
for car in cars:
    if car.lower() == 'bmw':
        print(car.upper())
    else:
        print(car.title())

#检查特定值在不在列表中
car = 'pheonix'
if car not in cars:
    print(car.title() + " is not in car list")
car = 'toyato'
if car in cars:
    print(car.upper() + " is in car list")

输出结果为:

Audi
BMW
Subaru
Toyato
Pheonix is not in car list
TOYATO is in car list

5-5 外星人颜色

alien_color = ["green","yellow","red"]
for alien in alien_color:
    if alien == "green":
        print("You get 5 points")
    elif alien == "yellow":
        print("You get 10 points")
    else:
        print("You get 15 points")

输出结果为:

You get 5 points
You get 10 points
You get 15 points

5-6 人生的不同阶段

ages = [1,3,9,18,35,92]
for age in ages:
    if age < 2:
        print("年龄是"+str(age)+",他是婴儿")
    elif age < 4:
        print("年龄是"+str(age)+",他正蹒跚学步")
    elif age < 13:
        print("年龄是"+str(age)+",他是儿童")
    elif age < 20:
        print("年龄是"+str(age)+",他是青少年")
    elif age < 65:
        print("年龄是"+str(age)+",他是成年人")
    else:
        print("年龄是"+str(age)+",他是老年人")

输出结果为:

年龄是1,他是婴儿
年龄是3,他正蹒跚学步
年龄是9,他是儿童
年龄是18,他是青少年
年龄是35,他是成年人
年龄是92,他是老年人

5-8,5-10 检查用户名

current_users = ["admin","eric","lilei","hanmeimei","madongmei"]
new_users = ["Alexander","nepoleon","john","LILEI","admin"]
for i in range(0,len(new_users)):
    if new_users[i].lower() == 'admin':
        print("Hello admin, would you like to see a status report")
    elif new_users[i].lower() not in current_users:
        print("Hello " + new_users[i] +", thank you for logging in again")
    else:
        judge = True;
        while(judge):
            name = input("该用户名 " + new_users[i] + "已被使用,请输入其他名字: ")
            if name.lower() not in current_users:
                current_users.append(name.lower())
                judge = False
                print("Hello " + name +", thank you for logging in again")

输出结果为:

Hello Alexander, thank you for logging in again
Hello nepoleon, thank you for logging in again
Hello john, thank you for logging in again
该用户名 LILEI已被使用,请输入其他名字: susan
Hello susan, thank you for logging in again
Hello admin, would you like to see a status report

5-11 序数

lists = [i for i in range(1,10)]
for num in lists:
    if num == 1:
        print("1st")
    elif num == 2:
        print("2nd")
    elif num == 3:
        print("3rd")
    else:
        print(str(num)+"th")

输出结果为:

1st
2nd
3rd
4th
5th
6th
7th
8th
9th
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
我明白了,你要求将一个弱引用分配给一个变量。在 C++ 中,可以通过使用 `std::weak_ptr` 来实现弱引用。`std::weak_ptr` 是一种智能指针,可以用于跟踪 `std::shared_ptr` 的生命周期。这样,当 `std::shared_ptr` 所管理的对象被销毁时,`std::weak_ptr` 会自动失效。下面是一个简单的示例代码: ```cpp #include <iostream> #include <memory> int main() { std::shared_ptr<int> sharedPtr = std::make_shared<int>(42); std::weak_ptr<int> weakPtr = sharedPtr; // 使用 weakPtr 获取对象的值 if (auto lockedPtr = weakPtr.lock()) { std::cout << "Weak pointer value: " << *lockedPtr << std::endl; } else { std::cout << "Weak pointer expired" << std::endl; } // 销毁 sharedPtr sharedPtr.reset(); // 再次尝试使用 weakPtr 获取对象的值 if (auto lockedPtr = weakPtr.lock()) { std::cout << "Weak pointer value: " << *lockedPtr << std::endl; } else { std::cout << "Weak pointer expired" << std::endl; } return 0; } ``` 在这个示例中,`sharedPtr` 是一个 `std::shared_ptr`,并且我们使用它创建了一个 `std::weak_ptr`,即 `weakPtr`。我们可以通过调用 `lock()` 方法来检查 `weakPtr` 是否有效,如果有效,就可以使用它来获取所管理的对象的值。当 `sharedPtr` 被 `reset()` 销毁后,再次使用 `weakPtr` 时,`lock()` 方法将返回一个空指针,表示弱引用已经失效。 希望这个示例能对你有所帮助!如果你有任何疑问,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值