gpt4 book ai didi

python - 如何在 python 中为 for 循环手动输入?

转载 作者:行者123 更新时间:2023-12-05 07:21:46 24 4
gpt4 key购买 nike

我正在尝试获取手动输入并在 for 循环中使用这些输入以在 CSV 文件中吐出结果,但我无法让它工作。

我试图在 for 循环之外创建一个输入变量,它接受一个似乎没有传递到 for 循环中的 int 值。我还尝试手动输入内存量和操作系统名称。目标是吐出服务器名称。

CSV 文件:

Name,CPU,Memory,OS
server1,2,4gb,windows 7
server2,4,2gb,arch linux
server3,8,4gb,ubuntu linux
server4,4,2gb,windows server
server5,2,4gb,windows 7

Python代码:

import csv


entercpu = int (input("Enter number of CPU: "))
#enteros = input("Enter the OS: ")
#entermemory = input("Enter the amount of memory: ")


with open('test.csv', 'rb') as csv_file:
dict_reader = csv.DictReader(csv_file)

for d in dict_reader:

if d['NumCpu'] == 'entercpu' and d['Guest OS'] == 'windows 7' and d['MemoryGB'] == '8':
print('Name: {Name}, CPU: {NumCpu}, Memory: {MemoryGB}, OS: {Guest OS}'.format(**d))

输出应该是:姓名:名称:服务器 1,CPU:4,内存:8,操作系统:windows 7
名称:服务器 5,CPU:4,内存:8,操作系统:windows 7

最佳答案

尝试使用这个:

if d['NumCpu'] == str(entercpu) and d['Guest OS'] == 'windows 7' and d['MemoryGB'] == '8':
print('Name: {Name}, CPU: {NumCpu}, Memory: {MemoryGB}, OS: {Guest OS}'.format(**d))

当你比较它们时,你需要确保你的类型是相同的。例如 4 == "4" 返回 Falsestr(4) == "4" 返回 True

我想当你输入 'entercpu' 时,这就是你想要做的,但是当你试图从一种或另一种类型进行转换时,你调用了构造函数(即 str(4)int("4"))。

希望这对您有所帮助!

关于python - 如何在 python 中为 for 循环手动输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56809586/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com